サンプリング加重を持っているときに、各グループ内で連続変数(各値を「値」と呼ぶ)の各観測値の分位(0〜100)を計算しようとしています新しい変数のそれぞれの分位点への観測。R:割り当て付きグループ別に加重分位を推定する
つまり、各行は観測値であり、各観測値は1つのグループに属します。すべてのグループに2つ以上の観測値があります。各グループ内では、データのサンプリング加重を使用して値の分布を推定し、そのパーセンテージがグループの分布内のどのパーセンタイルであるかを決定し、そのパーセンタイルをデータフレームに列として追加する必要があります。
私の知る限り、survey
パッケージは、svyby()
とsvyquantile()
を有するが、指定された変位値のための後者の戻り値ではなく、与えられた観測値の分位。
# Load survey package
library(survey)
# Set seed for replication
set.seed(123)
# Create data with value, group, weight
dat <- data.frame(value = 1:6,
group = rep(1:3,2),
weight = abs(rnorm(6))
# Declare survey design
d <- survey::svydesign(id =~1, data = dat, weights = weight)
# Do something to calculate the quantile and add it to the data
????
これは、この質問に似ているが、サブグループによって行われていません:Compute quantiles incorporating Sample Design (Survey package)
https://stackoverflow.com/questions/32167390/compute-quantiles-incorporating-sample-design-survey-package/32173435#32173435またはhttps://stackoverflow.com/questions/24587499/compute- 24590340#24590340 –
申し訳ありませんが、「quantile_by_stype」はサブグループ別ですか?そうではありません。私はなぜsvybyまたはサブセットを使用して、あなたが必要とする部分集団を得るのに十分でないのか混乱していますか?ありがとう –
@AnthonyDamicoこれらはサブグループ別に分位数を計算するようですが、(a)前回のグループに値を追加していません。私は答えとして追加した非常にハッキリなアプローチを使用して終了しました。プロセスをスピードアップする方法があれば、変更することもできます! – user3614648