在不同条件下的R滤波中找到百分比

问题描述 投票:0回答:1

我正在尝试收集有关来自美国国民健康访问调查的数据的摘要统计数据,以比较移民工人和美国出生的工人。例如,我希望能够计算出未完成高中,未完成高中,大学学历等等的工人百分比。我想我可以使用dplyr随附的代码,但是我不确定执行此操作的最简单方法!我的代码如下所示:

NHIS1 =数据框,IMMIGRANT =二元指标(1 =移民,0 =美国出生),NEWEDUC =教育变量(1 = 12年级以下(无高中毕业),2 =高中毕业/ GED,3 =一些大学没有学位,4 =副学士学位,5 =本科及以上)

例如,我想知道:我如何计算未毕业的所有工人的百分比我如何计算只有美国大学文凭的出生工人的百分比?

我尝试过类似的事情...

NHIS1 %>% group_by(NEWEDUC) %>% sum(percent= 100*n()NEWEDUC == "1") / n())

或仅针对移民团体,请执行以下操作:NHIS_test=subset(NHIS1, NEWEDUC==1 & IMMIGRANT==1) nrow(NHIS_test)/nrow(NHIS1$IMMIGRANT==1)

谢谢!

r filter dplyr percentage
1个回答
0
投票

我不完全理解您的要求,但是一般来说,在base R中,您可以执行以下操作以在过滤后获取数据的汇总百分比:

filters1 = NHIS1$NEWEDUC == 1  # didn't graduate high school
sum(filters1) * 100 / nrow(NHIS1)

filters2 = NHIS1$IMMIGRANT == 0 # US born
filters3 = NHIS1$IMMIGRANT == 0 & NHIS1$NEWEDUC %in% c(4, 5) # US born with college degree
sum(filters3) * 100 / sum(filters2)
© www.soinside.com 2019 - 2024. All rights reserved.