Вектор, который я хочу повторить:
> months2014
[1] "07" "08" "09" "10" "11" "12"
Я хочу повторить это на основе этого вектора, который определяет n-е значения:
> num_times
[1] 6 6 6 6 5 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
[33] 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 6 6 6 6 6 6 6 12 6 6 6 6 6 6
[65] 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 12 6
[97] 6 6 12 6 6 6 6 6 6 6 6 12 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 6 6
[129] 6 12 6 6 6 6 6 6
Я использовал этот цикл, чтобы получить следующий вывод:
for (i in num_times)
print(months2014[1:i])
[1] "07" "08" "09" "10" "11" "12"
[1] "07" "08" "09" "10" "11" "12"
[1] "07" "08" "09" "10" "11" "12"
[1] "07" "08" "09" "10" "11" "12"
[1] "07" "08" "09" "10" "11" ## repeated upto the 5th element
[1] "07" "08" "09" "10" "11" "12"
[1] "07" "08" "09" "10" "11" "12"
[1] "07" "08" "09" "10" "11" ## repeated up to the 6th element
Если вы посмотрите на вектор num_times, он также имеет 12. Из-за этого я также получаю этот результат:
[1] "07" "08" "09" "10" "11" "12" NA NA NA NA NA NA
В months2014
всего 6 элементов, поэтому я получаю NA. Я действительно хочу, чтобы он перезапустился и получил вывод следующим образом:
[1] "07" "08" "09" "10" "11" "12" "07 "08" "09" "10" "11" "12"
У меня три вопроса:
1) Как сохранить вывод цикла? Я попытался создать пустой вектор и поместить в него результаты, но это не сработало:
temp_vec <- c()
for (i in num_times)
temp_vec <- print(months2014[1:i])
2) Как исправить АН?
3) Должен ли быть лучший способ сделать это?
sapply(num_times,function(x) rep(months2014,length.out=x))
- person Haboryme   schedule 07.10.2016