dplyr管道产生的结果与使用相同代码的基本R语法不同

时间:2017-12-30 22:52:19

标签: r dplyr magrittr

我正在进行学术练习,这表明我对dplyr的理解存在问题。让我使用base-R语法重建虹膜数据集:

library(dplyr)

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

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

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

1 个答案:

答案 0 :(得分:3)

请参阅以下内容。 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