为什么摘要函数每次与 dplyr mutate 一起使用时都会返回相同的值?

2023-11-25

这是一个包含一列用户 ID 的数据框:

> head(df)
       uid
1 14070210
2 14080815
3 14091420

为了便于论证,我想创建一个包含用户 ID 平方根的新列,以及另一个包含用户 ID 哈希值的新列。所以我这样做:

df_mutated <- df %>%
              mutate(sqrt_uid = sqrt(uid), hashed_uid = digest(uid))

... 其中digest() 来自digest 包。

虽然平方根似乎有效,但摘要函数为每个用户 ID 返回相同的值。

> head(df_mutated)
       uid sqrt_uid                       hashed_uid
1 14070210 3751.028 f8c4b39403e57d85cd1698d2353954d0
2 14080815 3752.441 f8c4b39403e57d85cd1698d2353954d0
3 14091420 3753.854 f8c4b39403e57d85cd1698d2353954d0

这对我来说很奇怪。如果没有 dplyr,digest() 函数会针对不同的输入返回不同的值。我对 dplyr 有什么不明白的地方?

Thanks


The digest()函数未矢量化。因此,如果您传入一个向量,您将获得整个向量的一个值,而不是向量的每个元素的摘要。由于它返回一个值,因此该值会为 data.frame 的每一行回收。您可以创建自己的矢量化版本

vdigest <- Vectorize(digest)
df %>% mutate(sqrt_uid = sqrt(uid), hashed_uid = vdigest(uid))
#        uid sqrt_uid                       hashed_uid
# 1 14070210 3751.028 cc90019421220a24f75b5ed5daec36ff
# 2 14080815 3752.441 9f7f643940b692dd9c7effad439547e8
# 3 14091420 3753.854 89e6666fdfdbfb532b2d7940def9d47d

它与您单独传递每个向量元素时得到的结果相匹配

digest(df$uid[1])
# [1] "cc90019421220a24f75b5ed5daec36ff"
digest(df$uid[3])
# [1] "89e6666fdfdbfb532b2d7940def9d47d"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么摘要函数每次与 dplyr mutate 一起使用时都会返回相同的值? 的相关文章

  • R 中的“右”滚动平均值和“左”滚动平均值是什么?

    如果我想计算之前的n意味着年份滞后于当年 我将如何实现这一点 它像 右 滚动平均窗口一样简单吗 或者它是一个 左 滚动平均窗口 我不确定这里使用哪个窗口 样本数据 set seed 1234 dat lt data frame year c
  • 如何对 lm() 中的一系列值进行子集化

    lm 的帮助文件没有涉及子集参数的语法 我不知道如何让它找到最适合我的数据集的一部分的线 这个问题是类似的 但我无法使用它解决我的特定问题 子集参数在 lm 函数中如何工作 https stackoverflow com questions
  • 事后如何使用保存的.rds h2o模型进行预测?

    我使用 mlr 和 h2o 包创建了一个 R 模型 如下所示 library h2o rfh20 lrn makeLearner classif h2o randomForest predict type prob 完成模型调整 模型启动
  • 在 R 中,如何获得某些向量值的所有可能组合?

    背景 我有一个需要一些参数的函数 我想要获得所有可能的参数组合的函数结果 一个简化的例子 f lt function x y return paste x y sep colors c red green blue days c Monda
  • 使用 Rgraphviz 中的 pos 参数来固定节点位置

    基于这个问题当弧与另一弧重叠时自动弯曲 https stackoverflow com questions 45721802 automatically curving an arc when it is overlapping with
  • 在 R 中使用 apply() 时出现未使用参数错误

    当我尝试对日期列使用 apply 条件以返回一组系数时 收到错误消息 我有一个数据集 为简单起见 此处进行了修改 但可重现 ADataset lt data table Epoch c 2007 11 15 2007 11 16 2007
  • 如何使用 R 更改 png 文件的大小

    我正在绘制 png 文件并获取一张小图片 你知道一些可以改变 png 图大小的简单代码吗 我的地块太高太 薄 另外有没有办法改变情节的分辨率 谢谢 伊格尔 png png filename Rplot 03d png width 480 h
  • 最新的 Windows 10 更新后 R 将无法运行

    我已经更新了我的 Windows 但 R 无法运行 因此 R studio 也无法运行 当我运行 R GUI 时 它只是冻结并且没有响应 我已允许防火墙豁免铬 我正在使用 Windows Insider 计划并且刚刚更新到 Windows
  • 如何使用“downloadHandler”在闪亮的可反应内部创建下载按钮?

    我创建downloadlinksa 的行内reactable 我这样做是为了DT datatable and a reactable reactable 我还创建了相应的output downloadHandler在 ids 上使用 app
  • ggplot2 geom_function 可以跨 arg 值进行分面吗?

    我想通过分面 geom function 创建 ggplot2 图 以便函数的参数在网格中变化 例如像这样的东西 my function lt function x par if par 1 return sin x else return
  • 数据框中按行相关

    我正在尝试计算大型数据帧的所有行之间的相关性 到目前为止已经提出了一个有效的简单 for 循环 例如 name lt c a b c d col1 lt c 43 78 43 84 37 92 31 72 col2 lt c 43 80 4
  • OpenStreetMap 不显示在 RStudio 中(使用 R 3.2.1)

    我正在使用来自的代码here https rstudio github io leaflet library leaflet m lt leaflet gt addTiles gt addMarkers lng 174 768 lat 36
  • 挑战:优化取消列出[简单]

    因为 SO 最近有点慢 所以我发布了一个简单的问题 如果大鱼们能在这场比赛中留在替补席上并给新秀们一个回应的机会 我将不胜感激 有时我们的对象具有大量的大列表元素 向量 您如何将这个对象 取消列出 到单个向量中 证明你的方法比unlist
  • 与heroku配合使用的统计引擎

    我有一个 Heroku Rails 应用程序 需要处理一些重要的数字 并且我需要使用像 R 这样的统计库 更糟糕的是 MatLab 我正在寻找以下任何问题的答案 是否有不需要二进制文件的功能齐全的统计包 GEM 是否可以将 R 二进制文件作
  • 将一长行带空格的数据导入R中

    这个问题是我上一个问题的后续问题 将一长行数据导入到 R 中 https stackoverflow com questions 8389913 我有一个由单行文本组成的大型数据文件 格式类似于 Cat 14 15 Horse 16 我最终
  • 省略 RColorBrewer 调色板上较亮的颜色以在 ggplot2 中使用

    我想在 RColorBrewer 的 Oranges 调色板中使用较深的颜色 以便在我的 ggplot 条形图 中使用 然而我却做不到 帮助 下面是示例代码 my palette brewer pal n 9 Oranges 4 9 Bar
  • 使用 sprintf 打印换行符 - 有光泽

    我试图在打印时进行换行 这是我的代码 temp lt LETTERS 1 11 print sprintf Rank s s n 1 11 temp output 1 Rank 1 A n Rank 2 B n Rank 3 C n Ran
  • rpy2 无法加载外部库

    希望有人能帮忙解决这个问题 R版本 2 14 1rpy2版本 2 2 5蟒蛇版本 2 7 3 一直在尝试在 python 脚本中使用 rpy2 加载 R venneuler 包 该包以 rJava 作为依赖项 venneuler 和 rJa
  • 当我添加形状时,分组哑铃图变得不稳定

    我有以下数据显示白人与黑人在各个领域的一致性百分比 我想创建一个分组哑铃图 其中国家值和州值彼此相邻 以便于比较 Domain c A B C D E F G A B C D E F G A B C D E F G A B C D E F
  • 如何在 R 中创建“堆叠瀑布”图表?

    I was able to find several packages to create a waterfall chart in R which look like this But I could not find a way to

随机推荐

  • SQL 查找违反 UNIQUE 共同索引的行

    我想在表中的两个 或更多 列上放置唯一索引 但我得到 找到重复的键 如何选择那些导致重复的行 您可以使用Group By and Having为了这 SELECT col1 col2 FROM table GROUP BY col1 col
  • Github:权限被拒绝(公钥),但我收到“您已成功通过身份验证”消息

    我所做的步骤 https help github com articles generate ssh keys 完全遵循 eval ssh agent s Agent pid 31944 ssh add Enter passphrase f
  • 与 Mac 和 Linux 上的 exp 函数的结果略有不同

    以下 C 程序在我的 Mac 和 Linux 上产生不同的结果 我很惊讶 因为我认为实施libm以某种方式标准化 include
  • 使用 Exchangelib 将电子邮件标记为已读

    我正在使用Pythonexchangelib包裹 如何使用 Exchangelib 将电子邮件标记为已读 我已经看过了官方 GitHub Exchangelib 页面对于我的查询 但没有找到答案 要添加到 joe 的评论 您还必须 保存 该
  • Java Spring Boot 中的服务器端渲染 React

    我是服务器端渲染的新手 我想在服务器端渲染 React 组件并以 html 形式传递它 我按照本教程进行操作https spring io guides tutorials react and spring data rest 它仍在客户端
  • .NET 和 C# 初学者书籍? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我想做一个项目 使用 NE
  • GUI 元素在调整窗口大小之前不会显示

    我一直在尝试用 java 制作 GUI 而不是一直使用 静态 并遇到了 SwingUtilities invokeLater 方法 我设法完成所有设置 但在运行应用程序时 JPanel 上什么也没有出现 直到我调整窗口大小 有解决这个问题的
  • make:并行运行多个任务并等待完成

    我的 makefile 中的一个目标是一项非常消耗 CPU 和时间的任务 但我可以拆分工作负载并并行运行该任务多次 以加快整个过程 我的问题是 make 不会等待所有进程完成 考虑这个简单的脚本 名为myTask sh bin bash e
  • 通过标准 JDK 11 使用 graalvm

    我有一个项目使用 Nashorn Javascript 引擎 我正在尝试迁移到 java11 并从 Nashorn 迁移到 Graal 我读了here我可以通过从 JDK 11 开始的标准 JDK 安装来使用 graal 此外 我还读到 G
  • CXF 中的格式化 XML 输出?

    我知道如何在使用 Marshaller 时打开格式 但我正在使用 Apache CXF JAX RS 并返回类似的响应return Response ok entity build 我还没有找到任何如何格式化输出的选项 我该怎么做 首先 获
  • 使用给定的步长/步长从 numpy 数组中获取子数组

    假设我有一个 Python Numpy 数组a a numpy array 1 2 3 4 5 6 7 8 9 10 11 我想从这个长度为 5 步幅为 3 的数组创建一个子序列矩阵 因此结果矩阵将如下所示 numpy array 1 2
  • ASP.NET CORE LINUX 获取 CPU 使用情况

    使用此代码 这适用于 Windows 对于 Linux Ubuntu Linux 中未提供 PerformanceCounter PerformanceCounter counter GetPerfCounterForProcessId p
  • 如何在 DirectWrite 中渲染混合颜色文本?

    我想使用 DirectWrite 进行混合颜色文本格式设置 准确地说是语法突出显示 但似乎无法在 布局 或 版式 选项中找到实现此目的的方法 唯一的选择是在渲染文本时传递画笔 这对我不起作用 因为我基本上只有一个布局 帮助 Use IDWr
  • 从标签之间提取文本的有效方法

    假设我有这样的事情 var li a href html Energy a ul li a href html Coal a li li a href html Oil a li li a href html Carbon a li li
  • 如何描述和显示DERBY DB中的表?

    我有这个 SQL 查询 1 show tables 2 desc tablename 但这似乎不是德比中的语法 如何在德比中编写这些查询 我想检查表的架构 无论其是否是主键 如何在 websphere 中检查 通过查询显示表 no IJ s
  • Doxygen 并将属性值添加到输出文档

    服务栈使用 C 属性标记 Web 服务的剩余路径 例如 RestService hello1 RestService hello2 public class Hello 我想让 Doxygen 在 Hello 类的 doxygen 输出中包
  • 在 Angular2 中通过指令更改组件属性

    我有一个 Angular 1 应用程序 可以使用一个简单的contentEditable指令 可以在模板中像这样使用 span 编辑元素会触发 setViewValue element html 它按预期工作 我想用类似简洁的模板语法在 A
  • Swift:将任何对象转换为 Int64 = nil

    我有个问题 我想知道为什么会发生这种情况 var dict String Any intValue 1234 stringValue some text dict intValue as Int64 nil why dict intValu
  • 本机 iOS 应用程序中的连字符

    如何在 iOS 中激活自动连字符 我尝试在 UILabel 的属性文本选项中将连字符因子设置为 1 但是我没有得到任何连字符 iOS 7 方式 使用UITextView而不是UILabel The hyphenationFactor 或者作
  • 为什么摘要函数每次与 dplyr mutate 一起使用时都会返回相同的值?

    这是一个包含一列用户 ID 的数据框 gt head df uid 1 14070210 2 14080815 3 14091420 为了便于论证 我想创建一个包含用户 ID 平方根的新列 以及另一个包含用户 ID 哈希值的新列 所以我这样