cheetahfly 发表于 2020-1-31 14:27 
quantile5
多谢大神,问题已完美解决。麻烦您再指点一下:
quantile5 <- function(x) quantile(x, probs=c(.2,.4,.6,.8))
dat.exp11 <- apply(dat.exp10, 1, quantile5)
用以上语句求出20%、40%、60%、80%百分位数后,我想用for循环语句+自编函数rankfun,配合apply函数实现批量赋值,但不成功,请您看一下,问题出在哪里,是引用格式不对还是其他问题,代码如何改?这里只有4行数据,手动输入了行索引值,[1,i],[2,i],[3,i],[4,i],若行数较多,怎么实现行、列的循环索引?万分感谢!
for (i in 1:ncol(dat.exp11))
rankfun <- function(x)
{
x[x < dat.exp11[1,i]] <- "1"
x[x >= dat.exp11[1,i] & x < dat.exp11[2,i]] <- "2"
x[x >= dat.exp11[2,i] & x < dat.exp11[3,i]] <- "3"
x[x >= dat.exp11[3,i] & x < dat.exp11[4,i]] <- "4"
x[x >= dat.exp11[4,i]] <- "5"
}
dat.exp12 <- apply(dat.exp10, 1, rankfun)