簡単な質問です。探索的データ分析のために、さまざまな方法で変数をビニングしています。var
data.frame で呼び出される変数があるとしましょうdf
。
df$var<-c(1,2,8,9,4,5,6,3,6,9,3,4,5,6,7,8,9,2,3,4,6,1,2,3,7,8,9,0)
これまでのところ、次のアプローチを採用しています (以下のコード)。
#Divide into quartiles
df$var_quartile <- with(df, cut(var, breaks=quantile(var, probs=seq(0,1, by=.25)), include.lowest=TRUE))
# Values of var_quartile
> [0,3],[0,3],(7.25,9],(7.25,9],(3,5],(3,5],(5,7.25],[0,3],(5,7.25],(7.25,9],[0,3],(3,5],(3,5],(5,7.25],(5,7.25],(7.25,9],(7.25,9],[0,3],[0,3],(3,5],(5,7.25],[0,3],[0,3],[0,3]
#Bin into increments of 2
df$var_bin<- cut(df[['var']],2, include.lowest=TRUE, labels=1:2)
# Values of var_bin
> 1 1 2 2 1 2 2 1 2 2 1 1 2 2 2 2 2 1 1 1 2 1 1 1 2 2 2 1
私がやりたい最後のことは、変数を時系列順にソートした後、10 個の観測のセクションにビン化することです。これは、中央値を見つけた後の分割と同じアプローチ (中央の観測までカウントアップ) ですが、10 個の観測単位でカウントしたいだけです。
私の例を使用すると、これはvar
次のセクションに分割されます。
0,1,1,2,2,2,3,3,3,3
4,4,4,5,5,6,6,6,6,7
7,8,8,8,9,9,9
NB -- この操作は非常に大きなデータセット (通常は 300 万から 600 万の観測データ) で実行する必要があります。
どうすればいいですか?ありがとう!