6

データセットにすでにBRRの重みが含まれている場合、分散を推定するためにLumleyの調査パッケージでBRRの重みを使用する方法を知っている人はいますか?

私はPISAデータを使用していますが、データセットにはすでに80のBRRレプリケートが含まれています。独自に作成するのではなく、as.svrepdesignでこれらを使用するにはどうすればよいですか?次のことを試しましたが、その後エラーが発生しました。

dstrat <- svydesign(id=~uniqueID,strata=~strataVar, weights=~studentWeight, 
                data=data, nest=TRUE)
dstrat <- as.svrepdesign(dstrat, type="BRR")

Error in brrweights(design$strata[, 1], design$cluster[, 1], ..., 
    fay.rho = fay.rho,  : Can't split with odd numbers of PSUs in a stratum

どんな助けでも大歓迎です、ありがとう。

4

2 に答える 2

4

複製の重みがすでにあるデータフレームがある場合は使用する必要はありませんas.svrepdesign():)データフレームから直接複製の重み付きデザインを作成できます。

と呼ばれるメインの重み列を持つデータがあり、これを使用してmainwgt呼び出される80の複製重み列があるとrepwgt1repwgt80ます-

yoursurvey <-
    svrepdesign( 
    weights = ~mainwgt , 
    repweights = "repwgt[0-9]+" , 
    type = "BRR", 
    data = yourdata ,
    combined.weights = TRUE
)

-このように、正確な列番号を識別する必要はありません。次に、次のような通常の調査コマンドを実行できます-

svymean( ~variable , design = yoursurvey )

別の例が必要な場合は、現在の人口調査を使用したサンプルコード説明的なブログ投稿を次に示します。

于 2012-10-25T16:33:57.077 に答える
2

私はPISAデータを使用していません。svprepdesign昨年、80の複製ウェイトが付属しているAmerican Community Survey(US Census Bureau)のPublicUseMicrosampleでこの方法を使用しました。彼らはその特定の調査にメソッドを使用すると述べているので、そのデータを使用してオブジェクトをFay構築する方法は次のとおりです。svyrep

pums_p.rep<-svrepdesign(variables=pums_p[,2:7],
    repweights=pums_p[8:87],
    weights=pums_p[,1],combined.weights=TRUE,
    type="Fay",rho=(1-1/sqrt(4)),scale=1,rscales=1)

attach(pums_p.rep)
#CROSS - TABS
#unweighted
xtabs(~ is5to17youth + withinAMILimit) 
table(is5to17youth + withinAMILimit)

#weighted, mean income by sex by race for select age groups
svyby(~PINCP,~RAC1P+SEX,subset(
   pums_p.rep,AGEP > 25 & AGEP <35),na.rm = TRUE,svymean,vartype="se","cv")

これを機能させるために、A。Damicoの記事が役に立ちました。Damico, A. (2009). Transitioning to R: Replicating SAS, Stata, and SUDAAN Analysis Techniques in Health Policy Data. The R Journal, 1(2), 37–44.

于 2012-10-16T03:05:42.950 に答える