2016-09-09 4 views
3

Имея data.frame (Тиббл) следующим образом:mutate_at для колонок-имен, которые включают в себя пространство

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 .: Я использую dplyr 0.5.0 на OS X El Capitan 10.11.6

+2

Похоже было сообщено, как вопрос о [GitHub репо] (https://github.com/hadley/dplyr/issues/1978) – aosmith

ответ

4

Если вы используете 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