спред тидир меняет значения с числовых - PullRequest
0 голосов
/ 08 января 2019

Я делаю это с похожим набором данных, и у меня та же проблема:

example <- mpg %>%
  select(manufacturer) %>%
  group_by(manufacturer) %>%
  count(manufacturer) %>%
  unique() %>%
  spread(manufacturer, n)

Мне нужно объединить информацию о столбце после спреда, однако функция превращает мой числовой столбец 'n' в столбец с неизвестным символом. Когда я пытаюсь добавить столбцы, я получаю эту ошибку:

example <- mpg %>%
  select(manufacturer) %>%
  group_by(manufacturer) %>%
  count(manufacturer) %>%
  unique() %>%
  spread(manufacturer, n) %>%
  mutate(combination = 'ford'+'honda')

Ошибка в mutate_impl (.data, точки): Ошибка оценки: не числовой аргумент для двоичного оператора.

Спасибо за любую помощь

Edit: Как говорится в комментариях, удаление кавычек решило проблему. Тем не менее, мой фактический набор данных имеет имена переменных с пробелами (для окончательной эстетики отчета), поэтому мне нужно было найти способ исправить это без простого удаления кавычек. Для этого я сделал это:

example <- mpg %>% 
mutate(manufacturer = ifelse(manufacturer == 'ford' | 
manufacturer == 'honda', "combination", manufacturer)) %>% 
select(manufacturer) %>% 
group_by(manufacturer) %>%
count(manufacturer) %>%
unique() %>%
spread(manufacturer, n)
...