我有一个按组嵌套的数据框。我想将变量“ x”从其原始值转换为分位数位置(20%,40%,60%,80%,100%或1、2、3、4、5)。
以下是我正在使用的数据的示例:
df <- data.frame(x=c(1,5,21,24,43,47,56,59,68,69,11,15,25,27,48,49,51,55,61,67),y=c("A","A","B","B"))
这是我尝试过的:
df$z <- aggregate(df$x,by = list(df$y),FUN = function(x) quantile(x,probs = c(0.2,0.4,0.6,0.8,1),na.rm = T))
本质上,我想创建一个新的变量,如下所示:
df$z <- c(1,1,2,3,4,5)