我有一些如下所示的数据。它按变量“年份”分组,我想提取每个 Score 观察值的百分位数,相对于它来自的年份,最好作为向量。
Year Score
2001 89
2001 70
2001 72
2001 ...
..........
2004 87
2004 90
等等。
我怎样才能做到这一点?聚合不起作用,我认为 apply 也不起作用。
最佳答案
跟进文斯的解决方案,您也可以使用 plyr
执行此操作或 by
:
ddply(df, .(years), function(x) transform(x, percentile=ecdf(x$scores)(x$scores)))
关于r - 每个观察的百分位数 w/r/t 分组变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2160224/