(第一次发海报,对 R 非常陌生,所以如果我的解释不是很清楚,请耐心等待)
我有一个数据集,其中包含在两个时间点(21 个月和 7 岁)收集的一项结果测量值。第二个时间点结果测量的缺失数据用小鼠进行估算。我现在想在两个时间点使用 svyglm 运行一些线性回归模型,但我认为没有使用估算数据,因为第二个时间点的 df 远低于第一个时间点。两个时间点的总样本量应为 2591。
我还在调整家庭内的聚类,因为我在数据集中使用 FamID 变量来使用孪生数据。
我的代码是:
#run imputation itself
df1_imp<- mice(imp, max=50, m=20, pred=predM, seed=5)
#adjust for family clustering
imp_list <- lapply( 1:20 , function( n ) complete(df1_imp , action = n ) )
df1_imp_data <- svydesign(ids=~famID, probs=~1, data=imputationList(imp_list), nest=TRUE)
## 21 months SES and UPF
#Model 1
SES21m <- with(df1_imp_data, svyglm(UPF_21m ~ SES_compositeWeighted, design = df1_imp_data))
summary(pool(SES21m))
## 7 years SES and UPF
#Model 1
SES7y <- with(df1_imp_data, svyglm(UPF_7y ~ SES_compositeWeighted, design = df1_imp_data))
summary(pool(SES7y))
我的 21 个月模型的输出是:
term estimate std.error statistic df p.value
1 (Intercept) 58.5069 1.52126 38.4595 1284.0 6.3124e-216
2 SES_compositeWeighted -2.5414 0.31247 -8.1333 1282.7 9.7675e-16
我 7 年模型的输出是:
term estimate std.error statistic df p.value
1 (Intercept) 67.4022 1.53660 43.8644 62.349 1.4021e-48
2 SES_compositeWeighted -1.3201 0.29022 -4.5486 100.121 1.5178e-05
df
报道的不仅仅是样本量(这就是为什么它不是一个整数)。它较低,因为部分方差估计来自插补之间的比较,其 df 的数量与插补的数量相同。
查看是否正在使用所有数据的最简单方法是在合并之前查看
svyglm
中的各个 SES7y
对象。