您好:我正在使用 srvyr
包对加权调查进行一些分析。这是我用来生成一些表的一些代码的示例。但是,我如何从这里获得比例的置信区间?
我发现 this 问题非常有用,但我的数学很差,我不知道如何处理公式。
#Sample data
var1<-sample(c("red", "green", "blue"), size=1000, replace=T)
var2<-sample(c("male", "female"), size=1000, replace=T)
weight<-rnorm(1000, mean=55, sd=10)
df<-data.frame(var1, var2, weight)
library(srvyr)
#Make the survey design object
df %>%
as_survey_design(., weights=weight) ->df2
#Get weighted table
df2 %>%
group_by(var1,var2) %>%
summarize(n=survey_total())
#Get confiidence interval for weighted table
df2 %>%
group_by(var1,var2) %>%
summarize(n=survey_total(vartype="ci"))
#Convert to percentages,
df2 %>%
group_by(var1,var2) %>%
summarize(n=survey_total(vartype="ci")) %>%
mutate(pct=(n/sum(n)*100))
我可以将标准误差或 ci 除以每组中的案例总数吗?或者我将它除以数据集中的行数?
答案 0 :(得分:1)
尝试使用 library(survey)
。计算比例的不同选项
var1<-sample(c("red", "green", "blue"), size=1000, replace=T)
var2<-sample(c("male", "female"), size=1000, replace=T)
weight<-rnorm(1000, mean=55, sd=10)
df<-data.frame(var1, var2, weight, val = 1)
library(survey)
dsurvey <- svydesign(ids = ~1, data = df, weights = ~weight)
svyby(~var1, by = ~var2, design = dsurvey, FUN = svymean)
#> var2 var1blue var1green var1red se.var1blue se.var1green se.var1red
#> female female 0.3303883 0.3603284 0.3092834 0.02124213 0.02176348 0.02087018
#> male male 0.3110492 0.3552361 0.3337147 0.02109212 0.02192876 0.02161942
svyby(~var2, by = ~var1, design = dsurvey, FUN = svymean)
#> var1 var2female var2male se.var2female se.var2male
#> blue blue 0.5207042 0.4792958 0.02821670 0.02821670
#> green green 0.5091939 0.4908061 0.02699336 0.02699336
#> red red 0.4866327 0.5133673 0.02837296 0.02837296
svymean(~var1, design = dsurvey)
#> mean SE
#> var1blue 0.32083 0.0150
#> var1green 0.35781 0.0154
#> var1red 0.32136 0.0150
svymean(~var2, design = dsurvey)
#> mean SE
#> var2female 0.50564 0.0161
#> var2male 0.49436 0.0161
svymean(~interaction(var1, var2), design = dsurvey)
#> mean SE
#> interaction(var1, var2)blue.female 0.16706 0.0120
#> interaction(var1, var2)green.female 0.18220 0.0125
#> interaction(var1, var2)red.female 0.15638 0.0117
#> interaction(var1, var2)blue.male 0.15377 0.0115
#> interaction(var1, var2)green.male 0.17562 0.0123
#> interaction(var1, var2)red.male 0.16498 0.0120
由 reprex package (v2.0.0) 于 2021 年 6 月 16 日创建