Как использовать номер столбца для dplyr:: count()?

library(dplyr)

Это нормально.

count(iris, Species) 
# A tibble: 3 × 2
     Species     n
      <fctr> <int>
1     setosa    50
2 versicolor    50
3  virginica    50
> names(iris)[5]
[1] "Species"

Это не работает. Почему?
Как использовать номер столбца для dplyr:: count() ?

> count(iris, one_of(names(iris)[5])) 
    Error in mutate_impl(.data, dots) : 
  wrong result size (0), expected 150 or 1
In addition: Warning message:
In one_of(names(list(Sepal.Length = c(5.1, 4.9, 4.7, 4.6, 5, 5.4,  :
  Unknown variables: `Species`

1 ответ

  1. count(iris, iris[,5]) должен дать тот же результат с вашим.
    Не уверенone_of, но если вы удалите это и добавить ,в [5]него должен привести к результату без ошибки.