我想比较9种分位数。计算分配给不同分位数类型的每个分位数值的平均值?
我计算了data.frame中变量a的分位数。对于每种类型(1-9),我计算了10个分位数(1为最高10%,10为最低10%)。
set.seed(123)
library(dplyr)
a <- as.numeric(sample(1.1e6:87e6, 366, replace=T))
b <- runif(366, 0.005, 2.3)
df<- data.frame(a,b)
df <- df %>%
mutate(type1 = 11 - as.integer(cut(a, quantile(a, probs=0:10/10, type = 1), include.lowest=TRUE)),
type2 = 11 - as.integer(cut(a, quantile(a, probs=0:10/10, type = 2), include.lowest=TRUE)),
type3 = 11 - as.integer(cut(a, quantile(a, probs=0:10/10, type = 3), include.lowest=TRUE)),
type4 = 11 - as.integer(cut(a, quantile(a, probs=0:10/10, type = 4), include.lowest=TRUE)),
type5 = 11 - as.integer(cut(a, quantile(a, probs=0:10/10, type = 5), include.lowest=TRUE)),
type6 = 11 - as.integer(cut(a, quantile(a, probs=0:10/10, type = 6), include.lowest=TRUE)),
type7 = 11 - as.integer(cut(a, quantile(a, probs=0:10/10, type = 7), include.lowest=TRUE)),
type8 = 11 - as.integer(cut(a, quantile(a, probs=0:10/10, type = 8), include.lowest=TRUE)),
type9 = 11 - as.integer(cut(a, quantile(a, probs=0:10/10, type = 9), include.lowest=TRUE)))
我想计算9个类型的第10个分位数的每个中的a
的平均值。我应该有90个值的平均值为a
。
我该怎么做?
你的位数都是一样的。我假设你正在寻找像'df%>%group_by(type1)%>%summarise_each(funs(mean))''? – alistaire
你为什么不看着分位数? –
@ 42- 因为我的分析涉及获取每个分位数的平均值并将其乘以另一个参数。 – aelwan