2015-12-18 5 views
2

я вектор, который содержит:Повторите некоторые элементы в г

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

Я хочу использовать только rep и seq функции, чтобы получить как Outout:

"a" "b" "c" "b" "c" "d" "c" "d" "e" "d" "e" "f" 
+0

для пинков 'т <- матрица (0, 4, 3); буквы [t (строка (m) + col (m) - 1)] ' – rawr

ответ

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" 
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" 

 Смежные вопросы

  • Нет связанных вопросов^_^