Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 计算数据帧中另一个可变级别内的级别数_R_Dataframe_Levels - Fatal编程技术网

R 计算数据帧中另一个可变级别内的级别数

R 计算数据帧中另一个可变级别内的级别数,r,dataframe,levels,R,Dataframe,Levels,我有一个包含两个字符变量的数据框,state和birds。我想看看每个州有多少种鸟类。我试过: data.frame %>% group_by(state) %>% n_distinct(data.frame$bird) data.frame %>% group_by(state) %>% n_distinct(unique(data.frame$bird)) 然而,我很困惑。提前感谢您的帮助;如果需要进一步澄清,请告诉我。这个怎么样 data

我有一个包含两个字符变量的数据框,state和birds。我想看看每个州有多少种鸟类。我试过:

data.frame %>%
   group_by(state) %>%
   n_distinct(data.frame$bird)

data.frame %>%
   group_by(state) %>%
   n_distinct(unique(data.frame$bird))
然而,我很困惑。提前感谢您的帮助;如果需要进一步澄清,请告诉我。

这个怎么样

data.frame %>%
   group_by(state) %>%
   summarize(distinct_birds = n_distinct(data.frame$bird))
这个怎么样

data.frame %>%
   group_by(state) %>%
   summarize(distinct_birds = n_distinct(data.frame$bird))

使用
data.table将非常简单

library(data.table)
dt=data.table(data.frame)

dt[,counts:=.N, by=.(state,birds)]
  • .N
    是获取计数的data.table函数
  • by
    包括分组变量

    • 使用
      数据将非常简单。表

      library(data.table)
      dt=data.table(data.frame)
      
      dt[,counts:=.N, by=.(state,birds)]
      
      • .N
        是获取计数的data.table函数
      • by
        包括分组变量
      也使用tidyverse:

      library(tidyverse)
      
      data.frame %>% count(state)
      
      也可以使用tidyverse:

      library(tidyverse)
      
      data.frame %>% count(state)
      

      尝试
      data.frame%%>%groupby(state,bird)%%>%tally()
      尝试
      data.frame%%>%groupby(state,bird)%%>%tally()
      这最终起作用了,只是我不得不使用summary函数而不是mutate。非常感谢。这最终起作用了,只是我不得不使用summary函数,而不是mutate。非常感谢。