• R语言
  • R 语言 数组中按照分位点统计均值

例如 一串数组, 一共 1万个数

我要统计最大10% 的均值, 次大10%均值。 中间20% 均值 这样子 有嘛命令么有呢?

<br />
x <- runif(10000)<br />
mean(x[x>quantile(0.9)])<br />
mean(x[x>quantile(0.8) & x<quantile(0.9)])<br />
mean(x[x>quantile(0.4) & x<quantile(0.6)])<br />

懒一点的方法

<br />
library(Hmisc)<br />
x = runif(100)<br />
df = data.frame(group=cut2(x,g=10),x=x)<br />
#cut2() 分组<br />
tapply(df$x,INDEX=df$group,FUN=mean)<br />
#tapply() 隐循环求均值<br />
</p>