在 r 中重复一些元素
Repeat some elements in r
我有一个向量包含:
my.var <- c("a","b","c","d","e","f")
my.var
[1] "a" "b" "c" "d" "e" "f"
我只想使用 rep
和 seq
函数来获取输出:
"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"
我有一个向量包含:
my.var <- c("a","b","c","d","e","f")
my.var
[1] "a" "b" "c" "d" "e" "f"
我只想使用 rep
和 seq
函数来获取输出:
"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"