r - dplyr piping 产生与使用相同代码的基本 R 语法不同的结果

标签 r dplyr magrittr

我正在进行一项学术练习,该练习展示了我对 dplyr 的理解存在问题。让我使用 base-R 语法重建鸢尾花数据集:

library(dplyr)

bind_cols(iris[1], iris[-1])

好的,太棒了。现在,我将使用 dplyr 传输所有内容 - 并且 - 它将 iris 数据集中的每一列加倍。这两段代码不应该产生相同的结果吗?

iris %>% bind_cols(.[1], .[-1])

最佳答案

请看以下内容。 iris %>% bind_cols(.[1], .[-1])bind_cols(iris, iris[1], iris[-1]) 相同因为 bind_cols 的第一个参数是 %>% 之前的参数。所以结果对我来说很有意义。

aa <- iris %>% bind_cols(.[1], .[-1])

bb <- bind_cols(iris, iris[1], iris[-1])

identical(aa, bb)
# [1] TRUE

关于r - dplyr piping 产生与使用相同代码的基本 R 语法不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48038554/

相关文章:

r - 检查一个数据帧列中的值或模式与另一列是否匹配

dplyr - 如何在 mutate 内拼接 case_when 中的参数

返回 R 数据框中的行,其中每个组根据条件有最大值

regex - 正则表达式选择逗号但不在括号之间

RMarkdown 从 bash block 访问参数

r - 使用 R 和来自 R 数据框的条件查询 MS SQL

r - 统计每列非零元素的个数——管道友好

r - 在管道 %>% 中保存 RDS 并让它返回对象

r - 如何使用 magrittr::inset()?

在 R "Error in loadNamespace(name) : there is no package called ‘curl’ 中运行 Quandl"