R 有什么函数可以让我把这个列表转换成一组向量吗?

R 有什么函数可以让我把这个列表转换成一组向量吗?,r,list,vector,R,List,Vector,我想把这个列表[1,2,3,4,5,6,7,8,9]转换成以下向量集 (2,3,4) (3,4,5) (4,5,6) (5,6,7) (6,7,8) (7,8,9) 你可以做: dat #R> $`3` #R> [1]3 4 5 #R> #R> $`4` #R> [1]4 5 6 #R> #R> $`5` #R> [1]567 #R> #R> $`6` #R> [1]678 #R> #R> $`7` #R> [1]7 8 9 #R> 这是可以做到的。您是否尝试执行滚动平均值(或类似值)

我想把这个列表
[1,2,3,4,5,6,7,8,9]
转换成以下向量集

(2,3,4) 
(3,4,5) 
(4,5,6) 
(5,6,7)
(6,7,8) 
(7,8,9)
你可以做:

dat
#R> $`3`
#R> [1]3 4 5
#R>
#R> $`4`
#R> [1]4 5 6
#R>
#R> $`5`
#R> [1]567
#R>
#R> $`6`
#R> [1]678
#R>
#R> $`7`
#R> [1]7 8 9
#R>

这是可以做到的。您是否尝试执行滚动平均值(或类似值)?如果是这样的话,直接使用工具就更容易了,比如
数据。table::frollmean
为什么要从输出中排除
(1,2,3)
?@Ronaksah不是真的,我只是忘了把它放在那里我会做
lappy(1:(n-2),function(i)unlist(x[i:(i+2)])
case
x实际上是一个列表,谢谢你!我照@jay.sf说的做了,因为那是一张单子
x = c(1, 2, 3, 4, 5, 6, 7, 8, 9)
n = length(x)
lapply(1:(n - 2), function(i) x[i:(i + 2)])