mutate_at 用于包含空格的列名

Ren*_*rop 3 whitespace r dplyr

有一个 data.frame (tibble) 如下:

require(dplyr)
df_org <- df <- data_frame(a=1:2, b=c("A", "B"))
colnames(df) <- paste("X", c("Y", "Z"))

# A tibble: 2 × 2
  `X Y` `X Z`
  <int> <chr>
1     1     A
2     2     B
Run Code Online (Sandbox Code Playgroud)

使用mutate_at会引发以下错误:

df_org %>% mutate_at(1, sum) # Works as expected
df %>% mutate_at(1, sum) # Error
Run Code Online (Sandbox Code Playgroud)

解析错误(文本 = x)::1:3:意外符号
1:XY
--------^

这是一个错误吗?我做错了什么吗?

PS:我在 OS X El Capitan 10.11.6 上使用 dplyr 0.5.0

aos*_*ith 5

如果您vars用于选择列,事情会按预期工作。我不确定是否需要vars像这样使用。

df %>% mutate_at(vars(1), sum)

# A tibble: 2 x 2
    X Y   X Z
  <int> <chr>
1     3     A
2     3     B
Run Code Online (Sandbox Code Playgroud)