mutate_at for column-names 其中包括 space
mutate_at for column-names that include a space
有一个data.frame(小标题)如下:
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
使用 mutate_at
会引发以下错误:
df_org %>% mutate_at(1, sum) # Works as expected
df %>% mutate_at(1, sum) # Error
Error in parse(text = x) : :1:3: unexpected symbol
1: X Y
--------^
这是一个错误吗?我做错了什么吗?
P.S.:
我在 OS X El Capitan 10.11.6
上使用 dplyr 0.5.0
如果您使用 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
有一个data.frame(小标题)如下:
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
使用 mutate_at
会引发以下错误:
df_org %>% mutate_at(1, sum) # Works as expected
df %>% mutate_at(1, sum) # Error
Error in parse(text = x) : :1:3: unexpected symbol
1: X Y
--------^
这是一个错误吗?我做错了什么吗?
P.S.: 我在 OS X El Capitan 10.11.6
上使用 dplyr 0.5.0如果您使用 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