如何获取列中每个值的计数?

问题描述 投票:-1回答:3

我有一个大型数据集,其中的列比这多得多,但出于这个问题的目的,我将对其进行简化。

种族| QuestionID | ResponseID

我想使用R查找特定种族的特定问题的答案计数。即,种族==“亚洲”,QuestionID == 10,ResponseID == 2

我将如何去做?

我已经尝试通过以下代码使用plyr库:

library(plyr)

visData <- read.csv(file="/Users/gtye/Documents/Big Data/Medicare_claims___Vision_and_Eye_Health_Surveillance.csv"), header=TRUE, sep=",")

count(visData, c("RaceEthnicityID", "QuestionID", "ResponseID"))

但是我得到的只是这个,这并不是我想要的。

enter image description here

[在你解雇我之前,我已经看了好几个小时,而且我实在是个菜鸟,根本不知道该寻找什么。请帮助:(

r bigdata plyr
3个回答
1
投票

类似这样的方法应该起作用:

library(tidyverse)

visData <- visData %>%
  group_by(raceEthnicityID, QuestionID, ResponseID) %>%
  summarize(response_count = n())

0
投票

我认为这将对您有所帮助,并且应该可以正常运行,没有任何错误

require(dplyr) ## Same as library

visData_subset <- visData %>% 
                    group_by(raceEthnicityID, QuestionID, ResponseID) %>% 
                    filter(raceEthnicityID=="Asian", QuestionID==10, 
                           ResponseID == 2) %>% 
                    summarize(response_count = n())

0
投票

这里以“ mtcars”数据帧为例,因为您没有提供数据:

假设mtcar,我想对cyl等于4而mpg小于25的行进行计数。

df = mtcars   
nrow(df[which(df$cyl == 4 & df$mpg< 25), ])
# [1] 5
© www.soinside.com 2019 - 2024. All rights reserved.