我正在尝试计算数据帧行的百分位数。
我的数据与此类似:
YM V
201401 1
201401 2
201402 3
201402 5
我现在想要创建一个新的data.frame,看起来像这样:
YM v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
201401
201402
在这个数据框中应该有例如在列v1中,我的变量的第一个百分位为2014年1月。
我尝试使用apply函数,但它不起作用:
apply(df1, 1:2 ,quantile , probs=seq(0,1, 0.1),na.rm=TRUE)
编辑:
Sotos的聚合函数aggregate(V ~ YM, df, FUN = quantile , probs=seq(0,1, 0.1),na.rm=TRUE)
给出了我想要的输出,但是如果我想将它应用于新的data.frame,它会给出原始输出:
df2 <- aggregate(V ~ YM, df, FUN = quantile , probs=seq(0,1, 0.1),na.rm=TRUE)
为什么?