Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.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_Dplyr - Fatal编程技术网

如何从R中的多个列中获取计数?

如何从R中的多个列中获取计数?,r,dplyr,R,Dplyr,我有一个包含三列的数据框:State1、State2、State3。是否有一种方法可以使用所有三列(最好使用dplyr,而不使用显式循环)获取一个数据帧中每个状态的计数?我只知道如何做一个专栏: df %>% group_by(State1) %>% summarise(n=sum(!is.na(State1))) 你很接近。您应该先将所有列收集到一列中,然后按分组和汇总 df %>% gather("key", "value", state1, state2, st

我有一个包含三列的数据框:State1、State2、State3。是否有一种方法可以使用所有三列(最好使用dplyr,而不使用显式循环)获取一个数据帧中每个状态的计数?我只知道如何做一个专栏:

df %>% group_by(State1) %>% summarise(n=sum(!is.na(State1)))

你很接近。您应该先将所有列
收集到一列中,然后按
分组和
汇总

df %>%
    gather("key", "value", state1, state2, state3) %>% 
    group_by(value) %>%
    summarise(n=n())

注意:如果有NA条目,这也会计算NA条目的数量。

是按“State1”还是按单个分组进行分组。如果是后者,则可能需要一个循环。请提供一个小的可重复的例子和预期的OOUTPUT我的上述尝试是按状态1分组的,但我不会说解决方案一定要这样分组。但是,所有三列(50个州+地区)的因子都是相同的。类似于
gather(df)%%>%groupby(key,val)%%>%summary(n=sum(!is.na(val))
?\n如果您明确想要非na sum,您应该遵循@akruns建议。我的方法应该只添加一个额外的行来计算NA条目,这可能是helpful@AjjitNarayanan我认为最好在你的帖子中提及,因为基于代码,这个问题令人困惑