【发布时间】:2017-12-14 21:46:32
【问题描述】:
我发现 dplyr 出现了一些意外行为。我有一个特定的用例,但我会设置一个虚拟问题来说明我的观点。为什么会这样,
library(dplyr)
temp <- bind_cols(mtcars %>% select(-mpg), mtcars %>% select(mpg))
head(temp)
cyl disp hp drat wt qsec vs am gear carb mpg
6 160.0 110 3.90 2.620 16.46 0 1 4 4 21.0
6 160.0 110 3.90 2.875 17.02 0 1 4 4 21.0
但不是这个,
library(dplyr)
temp <- mtcars %>% bind_cols(. %>% select(-mpg), . %>% select(mpg))
Error in cbind_all(x) : Argument 2 must be length 1, not 32
感谢您的帮助。
【问题讨论】:
-
@markdly 如果您使用
mtcars %>% bind_cols(select(., -mpg), select(., mpg))检查您的解决方案,则结果不正确。它只是将 bind_cols 应用于 mtcar 的 2 个副本。即选择被忽略 -
哎呀!是的,你是对的