我在 R 中使用 Amelia 和 Zelig 对未清理变量的数据集进行多重插补。可重现的数据集在 Zelig 包中。
require(Zelig)
require(Amelia)
data(freetrade)
a.out <- amelia(freetrade, m = 5, ts = "year", cs = "country")
我想在 5 个汇集数据集中重新编码变量,例如:
> polity <- polity-1
是否有任何函数可以自动重复 5 次 MI 数据集而不是调用每个a.out$imputations[[1]]
,a.out$imputations[[2]]
......然后进行以下分析。
> z.out <- zelig(tariff ~ polity + pop + gdp.pc + year +
+ country, data = freetrade, model = "ls")
> summary(z.out)
让我知道这是否有意义。根据 Chase 的要求,以上是 Zelig 的示例。但我使用了自己的数据集,如下所示:
require(Amelia)
a.out <- amelia(MIV5, m=5, idvars = c("STU_ID", "SCH_ID", "BYSTUWT", "BYRACE",
"F1SES2","F1TXMSTD", "F2HSSTAT", "BYTXMSTD", "BYURBAN",
"BYTXRSTD", "BYTXCSTD", "BYNELS2M", "BYNELS2R", "BYNELS0M",
"BYPISAME", "BYPISARE", "BYTXMIRR", "BYTXMQU"),
noms = c("BYSEX", "BYSTLANG", "F2B07", "F2EVRAPP"),
ords= c ("BYSTEXP","F1SES2QU"), p2c=0)
现在问题是我必须重新编码和清理变量,例如将“BYRACE”因子转换为数字“种族”,并获得数学增益分数:
race <- as.numeric(BYRACE)
mthgn <- F1TXMSTD-BYTXMSTD
谢谢!