为R

我希望在R中创建一个公式,可以用来针对各种人口统计学因素计算人口百分比的标准误差估计。我的样本中有1,045人。我的数据框称为NHIS1,例如,我想计算白人或西班牙裔人口比例的标准误。我对WHITE和HISP拥有的变量是带有0或1指示符的二进制。我使用以下代码计算了人口百分比:

#sum(NHIS1$WHITE)=637,nrow(NHIS1)=1045,and sum(NHIS1$HISP)=408 (sum(NHIS1$WHITE)/nrow(NHIS1))*100,(sum(NHIS1$HISP)/nrow(NHIS1))*100

我认为我的公式设置可能看起来像下面的样子,但是我不确定是否有更好的方法来设置所有这些设置,因此R可以在不手动插入的情况下引用上面的这些人口比例。

perc_SE=function(p){sqrt((p*(1–p))/1045)}

谢谢!

iCMS 回答:为R

您可以尝试使用每列表格的prop.test,这样可以为您提供比例以及95%的置信区间。只需将这些乘以100即可得到百分比:

prop.test(table(NIHS$WHITE))
#> 
#>  1-sample proportions test with continuity correction
#> 
#> data:  table(NIHS$WHITE),null probability 0.5
#> X-squared = 3.6431,df = 1,p-value = 0.0563
#> alternative hypothesis: true p is not equal to 0.5
#> 95 percent confidence interval:
#>  0.4993011 0.5533346
#> sample estimates:
#>         p 
#> 0.5263941 

如果您想要一个简单的函数来获取百分比,可以执行以下操作:

proportions <- function(x)
{
 a <- prop.test(table(x))
 data.frame(Proportion = 100 * a$estimate,Lower_CI = 100 * a$conf.int[1],Upper_CI = 100 * a$conf.int[2])
}

现在您可以这样做:

proportions(NIHS$WHITE)
#>   Proportion Lower_CI Upper_CI
#> p   52.63941 49.93011 55.33346
本文链接:https://www.f2er.com/2275743.html

大家都在问