创建排序列表的中点列表
Create a list of midpoints of a sorted list
我有一个排序的数值向量,我想创建一个包含所有对的中点的新向量。例如:
a <- c(1,2,3,4)
我想创建 b
,使其包含 (1,2)
、(2,3)
和 (3,4)
:
的中点
b <- c(1.5, 2.5, 3.5)
正如@Khashaa 在评论中指出的那样,您可以在使用 embed
之后使用 rowMeans
,或者您可以使用 "zoo" 包中的 rollmean
。
示例:
a <- 1:4
rowMeans(embed(a, 2))
# [1] 1.5 2.5 3.5
library(zoo)
rollmean(a, 2)
# [1] 1.5 2.5 3.5
如果这些太晦涩难懂,一个类似的概念就是组合向量的两个版本,一个缺少第一个值,一个缺少最后一个值,然后使用 rowMeans
.
示例:
rowMeans(cbind(head(a, -1), tail(a, -1)))
# [1] 1.5 2.5 3.5
我有一个排序的数值向量,我想创建一个包含所有对的中点的新向量。例如:
a <- c(1,2,3,4)
我想创建 b
,使其包含 (1,2)
、(2,3)
和 (3,4)
:
b <- c(1.5, 2.5, 3.5)
正如@Khashaa 在评论中指出的那样,您可以在使用 embed
之后使用 rowMeans
,或者您可以使用 "zoo" 包中的 rollmean
。
示例:
a <- 1:4
rowMeans(embed(a, 2))
# [1] 1.5 2.5 3.5
library(zoo)
rollmean(a, 2)
# [1] 1.5 2.5 3.5
如果这些太晦涩难懂,一个类似的概念就是组合向量的两个版本,一个缺少第一个值,一个缺少最后一个值,然后使用 rowMeans
.
示例:
rowMeans(cbind(head(a, -1), tail(a, -1)))
# [1] 1.5 2.5 3.5