2

我有一个包含:

my.var <- c("a","b","c","d","e","f")
my.var
[1] "a" "b" "c" "d" "e" "f"

我只想使用repandseq函数来获取 outout :

"a" "b" "c" "b" "c" "d" "c" "d" "e" "d" "e" "f"
4

2 回答 2

8

或者

x <- c("a","b","c","d","e","f")
n <- 3
x[seq_len(n)+rep(0:(length(x)-n), each=n)]
# [1] "a" "b" "c" "b" "c" "d" "c" "d" "e" "d" "e" "f"
于 2015-12-18T16:11:20.657 回答
3

我们可以试试

c(t(matrix(my.var, nrow=length(my.var)+1, ncol=3)[1:4,]))
#[1] "a" "b" "c" "b" "c" "d" "c" "d" "e" "d" "e" "f"

或者

c(apply(embed(my.var,3), 1, rev))
#[1] "a" "b" "c" "b" "c" "d" "c" "d" "e" "d" "e" "f"

或者

library(data.table)
unlist(na.omit(setDT(shift(my.var, 0:3, type='lead'))), use.names=FALSE)
#[1] "a" "b" "c" "b" "c" "d" "c" "d" "e" "d" "e" "f"
于 2015-12-18T16:08:31.183 回答