(第一次贴海报,对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
1条答案
按热度按时间zi8p0yeb1#
报告的
df
不仅仅基于样本量(这就是为什么它不是整数)。它更低,因为方差估计的一部分来自插补间比较,其df仅与插补一样多。查看是否使用了所有数据的最简单方法是在池化
SES7y
对象之前查看svyglm
中的单个svyglm
对象。