0
マイデータフレームは次のようになります。サブセット内のグループに基づいたデータフレーム分位
df
city year wealth
a 2001 1
a 2002 30
b 2001 2
b 2002 20
c 2001 3
c 2002 10
私は、各年以内の都市に都市の富の相対に基づいてデータフレームをサブセットに簡単な方法を探しています。だから私は、このような出力のために行くよ:
top_third
city year wealth
a 2002 30
c 2001 3
mid_third
city year wealth
b 2001 2
b 2002 20
low_third
city year wealth
c 2002 10
a 2001 1
私はこのようなルックスをしようとしてきたアプローチ:
top_third <- subset(df, wealth > quantile(wealth, 0.66, na.rm = TRUE))
non_rich <- subset(df, wealth <=quantile(wealth, 0.66, na.rm = TRUE))
mid_third <- subset(non_rich, wealth > quantile(wealth, 0.5, na.rm = TRUE))
low_third <- subset(non_rich, wealth <=quantile(wealth, 0.5, na.rm = TRUE))
このアプローチの私がいる最大の問題は、私ができることです毎年以内に分位数を計算する方法を見つけることはできません。誰もがこれを行う簡単な方法を知っていますか?
は、あなたが何を取得し、このヘルプをいあなたは欲しいですか? 'df'をdata.table(' setDT(df) ')として扱うには、data.tableパッケージ(' library(data.table) ')を使います。あなたは 'df [、rank:= rank(wealth)/ length(wealth)、by =" year "]'を実行することによって、富のランクを年ごとに定義します。最後に、ランクに基づいて結果を分割します。 'split(df [、!"ランク "、with = F]、df $ rank)' – jav