我有很多这样的向量:c(28, 30, 50, 55, 99, 102)
我希望获得一个新的向量,其中平均每个元素之间的差异小于10。在这种情况下,我想获得c(29, 52.5, 100.5)
。
答案 0 :(得分:1)
另一种方式
vec <- c(28, 30, 50, 55, 99, 102)
indx <- cumsum(c(0, diff(vec)) > 10)
tapply(vec, indx, mean)
# 0 1 2
# 29.0 52.5 100.5