我想創建一個稱爲百分數的變量,每組的某些值的四分位數。我有以下的數據集,我想創建的最後一個變量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)))
但它似乎並沒有工作。它不會產生任何變量稱爲百分也不給我一個錯誤
我想知道你是否想過使用'mutate()'。 – jazzurro