Изменить имя переменной в dplyr::count, используя стандартную оценку

Как изменить имя группирующей переменной в dplyr::count_, когда она используется стандартным способом оценки

Например, если в окончательной таблице я не хочу, чтобы имя var было «Виды», а «Тип»:

iris %>% 
  group_by("Species") %>% 
  count_("Species")

Source: local data frame [3 x 2]

     Species  n
1     setosa 50
2 versicolor 50
3  virginica 50

Также мне интересно, как работает dplyr::count_ и что должно делать это выражение? У вас есть объяснение?

> iris %>% group_by("Species") %>% count_("x = Species")
Source: local data frame [3 x 2]

x = Species  n
1      setosa 50
2  versicolor 50
3   virginica 50

Спасибо !


person Julien Navarre    schedule 07.07.2015    source источник
comment
кстати, вам не нужен group_by. Для этого и нужен счет.   -  person talat    schedule 07.07.2015
comment
Да, я просто понял это, читая справку по ?count. Спасибо !   -  person Julien Navarre    schedule 07.07.2015
comment
iris %>% group_by("Species") %>% count_("x = Species") выглядит как ошибка и не должна работать IMO. Это также не сработает, если вы запустите эту строку во второй раз. Кроме того, по какой причине вы используете count_ вместо count?   -  person David Arenburg    schedule 07.07.2015
comment
Да, вы правы, это не всегда работает. Я использую версию функций SE, потому что это не для интерактивного использования, я пытаюсь обернуть их в свою собственную функцию, поэтому переменная для подсчета должна передаваться в качестве аргумента.   -  person Julien Navarre    schedule 07.07.2015


Ответы (2)


Ну, я использовал setNames перед публикацией, но неправильно. Кажется, это решение:

count_(iris, setNames("Species", "type"))
person Julien Navarre    schedule 07.07.2015

Вот как это сделать:

 iris %>% 
  rename(Type=Species) %>%
  count_("Type") 
person Andrelrms    schedule 07.07.2015