我有一个大型数据集,其中的列比这多得多,但出于这个问题的目的,我将对其进行简化。
种族| 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"))
但是我得到的只是这个,这并不是我想要的。
[在你解雇我之前,我已经看了好几个小时,而且我实在是个菜鸟,根本不知道该寻找什么。请帮助:(
类似这样的方法应该起作用:
library(tidyverse)
visData <- visData %>%
group_by(raceEthnicityID, QuestionID, ResponseID) %>%
summarize(response_count = n())
我认为这将对您有所帮助,并且应该可以正常运行,没有任何错误
require(dplyr) ## Same as library
visData_subset <- visData %>%
group_by(raceEthnicityID, QuestionID, ResponseID) %>%
filter(raceEthnicityID=="Asian", QuestionID==10,
ResponseID == 2) %>%
summarize(response_count = n())
这里以“ mtcars”数据帧为例,因为您没有提供数据:
假设mtcar,我想对cyl等于4而mpg小于25的行进行计数。
df = mtcars
nrow(df[which(df$cyl == 4 & df$mpg< 25), ])
# [1] 5