Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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_Loops_Count_Dplyr_Pipe - Fatal编程技术网

R 根据列中的变量名创建组并获取计数

R 根据列中的变量名创建组并获取计数,r,loops,count,dplyr,pipe,R,Loops,Count,Dplyr,Pipe,我已经看到了一些收集数据和按组创建计数的方法,但我想做的事情有点复杂。。。 我有一个类似于以下的数据集: d <- data.frame(ID=c("1ef","3ic","9sd"), CI_Region=c("Bay Area","North Sierra","Central Valley"), Q18_429=c("Not a threat","Slightly serious","Very Serious"),

我已经看到了一些收集数据和按组创建计数的方法,但我想做的事情有点复杂。。。 我有一个类似于以下的数据集:

d <- data.frame(ID=c("1ef","3ic","9sd"),
            CI_Region=c("Bay Area","North Sierra","Central Valley"),
            Q18_429=c("Not a threat","Slightly serious","Very Serious"),
            Q18_430=c("Extremely serious","Somewhat serious","Slightly serious"),
            Q18_431=c("Slightly serious","Unknown","No Answer"))
d
这就是你想要的吗

  d <- data.frame(ID=c("1ef","3ic","9sd"),
            CI_Region=c("Bay Area","North Sierra","Central Valley"),
            Q18_429=c("Not a threat","Slightly serious","Very Serious"),
            Q18_430=c("Extremely serious","Somewhat serious","Slightly serious"),
            Q18_431=c("Slightly serious","Unknown","No Answer"))
library(tidyr)

gather(d, question, response, -ID, -CI_Region) %>% 
  group_by(CI_Region, question, response) %>% 
  tally()



     CI_Region question          response     n
        (fctr)   (fctr)             (chr) (int)
      Bay Area  Q18_429      Not a threat     1
      Bay Area  Q18_430 Extremely serious     1
      Bay Area  Q18_431  Slightly serious     1
Central Valley  Q18_429      Very Serious     1
Central Valley  Q18_430  Slightly serious     1
Central Valley  Q18_431         No Answer     1
  North Sierra  Q18_429  Slightly serious     1
  North Sierra  Q18_430  Somewhat serious     1
  North Sierra  Q18_431           Unknown     1