假设我有一个切割点的向量,为了解答这个问题,它是这样生成的:
> seq(0,50,10)
[1] 0 10 20 30 40 50
这是一个长度为6的数字向量。我想生成一个中点的数字向量,以获得以下任意一种(两者都符合我的要求),长度比切割点少一个(在此情况下为5)。
# midpoints, exactly
5 15 25 35 45
# medians excluding right
4.5 14.5 24.5 34.5 44.5
没有找到现成的函数,于是我开发了一个过程,它接受一个数值向量作为参数(切点),并返回一个向量(中点)。它的工作原理是取索引1和索引2的中位数,并将其附加到向量中,然后取索引2和索引3的中位数,依此类推,直到最后一个索引为空。
我肯定不是第一个有这个需求的人。是否有一个包含此类过程的软件包?我不介意自己编写,但老实说,我更愿意使用经过公众审查严苛的软件包。
谢谢
diff(vec)/2
吗? - thelatemail