그룹당 특정 값의 4 분위수로 percentile이라는 변수를 만들고 싶습니다. 나는 다음과 같은 데이터 집합을 가지고 있고, 나는 마지막 변수 percentile
를 만들 싶습니다그룹당 특정 값의 4 분위수를 계산하십시오.
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