我想根据我使用函数计算出的值创建一个数据框。
这里有一些假设数据...我每年有多个观测值,具有数量。
d <- data.frame(year=c(rep(2001,20),rep(2002,20),rep(2003,20)), quantity = c(1:60))
我想找到每年数量的90%。所以,我用这个...
by(d$quantity,d$year,quantile,c(0.9))
这产生...
年:2001年 [1] 18.1 年:2002 [1] 38.1 年:2003 [1] 58.1但是我希望可以在其上运行统计数据的数据帧中的第90个百分位值。但是,我似乎无法将值提取出来或放入数据帧中。 我尝试做...
Test <- by(d$quantity,d$year,quantile,c(0.9))
但这只是使其成为“值”,而其类是“ by”。
Class (Test)
[1] "by"
我想要一个能给出年份和第90个百分位数值的数据框,看起来像这样...
Year value
2001 18.1
2002 38.1
2003 58.1
其中值是从数量列计算的第90个百分点。