2016-05-31 19 views
3

私はsurveyパッケージを使用してAmerican Community Surveyマイクロデータを作成しており、基本的な所得不平等統計を計算したいと考えています。私も年によって、年によってジニ係数だけでなく、収入の分位数の比率を計算したいのですが、それから、R調査パッケージを使用して所得格差を測定する

testsurv <- svrepdesign(data=test, repweights = test[,8:87], weights = test$HHWT, 
        combined.weights=TRUE, type = "Fay", rho = 0.5,scale=4/80, 
        rscales = rep(1, 80), mse=TRUE) 

:私は自分のデザインとして以下を設定しました。私の最初の質問に私をもたらします

quants <- svyby(~INCOME, ~YEAR, testsurvey, svyquantile, 
       quantiles=c(0.9, 0.75, 0.5, 0.25, 0.1), keep.var=TRUE) 

は:どのように私は所得分位の比(例えば90/10)私の場合のための標準誤差を計算しない分位と関連エラーを生成すると、svybysvyquantileを使用して簡単です各分位数に対する反復重みベースの誤差を有するか?私はsvyratioを使ってみましたが、これは変数全体の比率であり、変数内の選択された観測値ではありません。

2番目の質問:内のジニ係数(レプリケートベースのエラーあり)をginiからreldistのような既存の関数を使用して計算する方法はありますか?私はwithReplicatesを使ってみましたが、うまくいきませんでした。giniがその引数を変数として注文してから重み付けをしていますが、withReplicatesの指示は反対の順序を指定しています。私は両方の方法を試みたが、どちらもうまくいった。次のエラーメッセージ得

> withReplicates(testsurv, gini(~HHWT, ~INCOME)) 

Error in sum(weights) : invalid 'type' (language) of argument 
In addition: Warning message: 
In is.na(x) : is.na() applied to non-(list or vector) of type 'language' 

答えて

1

はRを使用するパッケージを伝える例えば、この、HHWTはサンプルの重みです。これはまだ利用できませんCRANのですが、あなたは、10日に第90の比率のため

devtools::install_github("djalmapessoa/convey") 

とすぐにそれをインストール?svyqsr機能を使用しているため、それはデフォルトのため

第80および20日に 0.1alpha=を設定することができますジニ係数は、 ?svygini関数を使用してください。

これらは、ACSレプリケート加重測量デザインを使用している限り、どちらも単純な計算でなければなりません。 svrepdesignコールの直後にconvey_prep機能を使用してください。

+0

ありがとうアンソニー - 私はそれを試してみることを楽しみにしています(そして素晴らしいリソースであるあなたの素晴らしいウェブサイトにもありがとう!)! – user115457

+0

これは今すぐCRANにあります –

+0

Anthony - これは非常に遅い応答ですが、この素晴らしいパッケージへのポインタに感謝したいと思います。それは大きな貢献であり、私のプロジェクトにとって欠かせないものでした。 – user115457

関連する問題