R で Amelia と Zelig を使用して、クリーンアップされていない変数を使用してデータセットの複数の代入を実行しています。再現可能なデータセットは Zelig パッケージにあります。
require(Zelig)
require(Amelia)
data(freetrade)
a.out <- amelia(freetrade, m = 5, ts = "year", cs = "country")
たとえば、5 つのプールされたデータセットで変数を再コード化したい:
> polity <- polity-1
a.out$imputations[[1]]
それぞれを呼び出すのではなく、5 つの MI データセットに対して自動的に 5 回繰り返すことができる関数はありますか? 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
ありがとう!