値が欠落しているデータセット「base_data」があります。したがって、パッケージ「Amelia」を使用して、欠損値をオブジェクト「a.output」に代入しました。
次のコードを使用して、帰属結果内のいくつかの変数の平均を見つけることができました。
q.out<-NULL
se.out<-NULL
for(i in 1:m) {
dclus <- svydesign(id=~site, data=a.output$base_data[[i]])
q.out <- rbind(q.out, coef(svymean(~hh_expenditure, dclus)))
se.out <- rbind(se.out, SE(svymean(~hh_expenditure, dclus)))}
以下を使用して結果を組み合わせました。
svymean.combine <- mi.meld(q = q.out, se = se.out)
これにより、母集団全体の家計支出 (hh_expenditure) の平均と標準誤差が得られます。
ただし、人口を富の五分位 (wealth_quin) に分割する変数があります。
そのため、現在、wealth_quin (変数は 1、2、3、4、または 5 のいずれか) あたりの家計支出の平均と標準誤差を求めたいと考えています。
最初に帰属データのサブセット化を試みましたが、多くのエラーが発生しました。
データを代入する前に、データを 5 つの富の五分位に分割する必要なく、これを行う方法はありますか?
乾杯、
ティモシー
編集:これは実用的な例です
require(Amelia)
require(survey)
a<-as.data.frame(c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16))
b<-as.data.frame(c(1,2,2,1,2,1,1,2,1,2,2,1,1,2,1,2))
c<-as.data.frame(c(2,7,8,5,4,4,3,8,7,9,10,1,3,3,2,8))
d<-as.data.frame(c(3,9,7,4,5,5,2,10,8,10,12,2,4,4,3,7))
e<-as.data.frame(c(2500,8000,NA,4500,4500,NA,2500,NA,7400,9648,1112,1532,3487,3544,NA,7000)
impute<-cbind(a,b,c,d,e)
names(impute) <- c("X","site","var2","var3", "hh_inc")
いいえ、使用するデータ フレームがありません。hh_inc の値が欠落しており、これを代入したいと考えています。最初のステップ、代入の数を設定する
m<-5
代入を実行します。
a.output <- amelia(x = impute, m=m, autopri=0.5,cs="X",
idvars=c("site","var2"),
logs=c("hh_inc","var3"))
a.output は、5 つの代入からのデータを保持するようになりました。
私が今やりたいことは、アメリアからの帰属値を使用して、サイト 1 とサイト 2 の平均 (および標準誤差) hh_inc を個別に見つけることです。
それはどのように行うことができますか?NAを無視すればできることはわかっています。しかし、これはバイアスを導入する可能性があるため、最初に値を帰属させた理由です。
乾杯、
ティモシー
編集:私はこれに賞金をかけました。正確な方法がわからない場合は、個々の帰属データセットからの結果を、ルービンの式 (http://sites.stat.psu.edu/~jls/mifaq.html#minf) を使用して組み合わせることができます。 、アメリア オブジェクトからの 5 つの別個の帰属データセットを 5 つの別個の完全なデータ フレームに変換できる人に報奨金を授与します。