2015-11-01 5 views
-1

Я начинаю с языка R, и мне нужно создать этот вектор, используя rep() и seq().Создайте этот вектор, используя rep() и seq()

1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 

Я пробовал кое-что, но не достиг этого.

+3

буквально ни один из ответов не использовать SEQ и респ. но это может быть мой дежавю, говорящий как [этот другой вопрос] (http://stackoverflow.com/questions/21667405/iterate-through-numbers-using-seq-and-rep) идентичен, как и ответы. или, может быть, мне просто нужно немного спать – rawr

+1

@rawr, что, вероятно, самый дурацкий обман, который я видел с тех пор, как я здесь. Вероятно, это какой-то институт Coursera, который дает одинаковые задачи каждый раз. –

ответ

3

Мы можем попробовать

1:5 + rep(0:4,each=5) 
#[1] 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 
3

Или как это?

c(sapply(1:5, function(x) seq(x,x+4))) 
[1] 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 
+0

Спасибо за этот ответ тоже, я тоже буду использовать этот, хотя мы сохраняем его очень простым в течение нашего первого месяца в классе. – Hotkrat

2

Только для спорта это, добавив версию data.table, используя его shift функция

unlist(data.table(1:10)[, shift(V1, 5:1)][6:10], use.names = FALSE) 
# [1] 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 
+0

@RichardScriven Хороший звонок, забыл об этом аргументе. –

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

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