在 r 中重复一些元素

Repeat some elements in r

我有一个向量包含:

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

我只想使用 repseq 函数来获取输出:

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

我们可以试试

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"

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"