グループごとに特定の値の四分位でパーセンタイルと呼ばれる変数を作成したいとします。私は、次のデータセットを持っている、と私はpercentile
最後の変数を作成したいと思います:グループごとの特定の値の四分位数を計算する
id group value
1 1 1 1
2 2 1 2
3 3 1 3
4 4 1 4
5 5 2 10
6 6 2 20
7 7 2 30
8 8 2 40
次は、予想される結果です。
id group value percentile
1 1 1 1
2 1 2 2
3 1 3 3
4 1 4 4
5 2 10 1
6 2 20 2
7 2 30 3
8 2 40 4
は、これまでのところ私は図書館dplyr
使用して次のことを試してみました:
df <- df %>% group_by(group) %>% within(df, percentile <- as.integer(cut(value, quantile(value, probs=0:4/4),
include.lowest=TRUE)))
をしかし、動作するようには思えません。これはあなたが?:
> df$percentile = ave(df$value, df$group, FUN=function(x) ecdf(x)(x))
再必要なものをされている任意の変数と呼ばれるパーセンタイルを生成し、どちらも私にエラー
あなたが 'mutate()'の使用について考えているのだろうかと思います。 – jazzurro