R:向量中相邻元素的平均值
我有很多向量,比如:R:向量中相邻元素的平均值,r,vector,grouping,R,Vector,Grouping,我有很多向量,比如:c(28,30,50,55,99,102),我想得到一个新的向量,其中每个元素之间的差异小于10,求平均值。在本例中,我希望以另一种方式获得c(29,52.5100.5) 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 vec我必须运行,
c(28,30,50,55,99,102)
,我想得到一个新的向量,其中每个元素之间的差异小于10,求平均值。在本例中,我希望以另一种方式获得c(29,52.5100.5)
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
vec我必须运行,但是你能检查c(10,50,80,22,89,98,102)
这是否有效吗。(或者可能是我错了)。@akrun请看OPS的回复。无论如何,你的解决方案是正确的。我的在某些情况下不起作用。你在乎订单吗?例如,对于像这样的向量c(10,50,80,22,89,98,102)
您想将10
和22
视为两组还是一组?亲爱的大卫,我的向量已经排序了。。。所以10和22应该属于同一组