我有一个向量,想要对每个分位数之间的各个值求和。 e.g。
v1 <- seq(0,1, 0.1)
q_v1 <- quantile(v1)
我可以v1 %>% subset(v1<q_v1["25%"]) %>% sum()
但是r中有一个单行解决方案来进行部分求和吗?
答案 0 :(得分:4)
我们可以cut
使用breaks
指定'q_v1'作为tapply
中的分组变量并获取sum
tapply(v1, cut(v1, breaks=q_v1), FUN=sum)
# (0,0.25] (0.25,0.5] (0.5,0.75] (0.75,1]
# 0.3 1.2 1.3 2.7