-1

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

种族 | 问题ID | 响应 ID

我想使用 R 来查找特定种族的特定问题的答案计数。即 Ethnicity=="Asian", 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"))

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

在此处输入图像描述

在你激怒我之前,我已经看了好几个小时了,我实在是太菜鸟了,不知道该搜索什么。请帮助:(

4

3 回答 3

1

像这样的东西应该工作:

library(tidyverse)

visData <- visData %>%
  group_by(raceEthnicityID, QuestionID, ResponseID) %>%
  summarize(response_count = n())
于 2019-09-25T19:01:58.730 回答
0

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

假设对于 mtcars,我喜欢计算 cyl 等于 4 且 mpg 小于 25 的行。

df = mtcars   
nrow(df[which(df$cyl == 4 & df$mpg< 25), ])
# [1] 5
于 2019-09-26T05:07:52.520 回答
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())
于 2019-09-26T00:13:04.143 回答