Последовательность повторяющихся значений в R

Это очень простой вопрос, но он меня раздражает, поэтому я спрашиваю.

Мне нужна последовательность повторяющихся чисел, т. е. 1 1 ... 1 2 2 ... 2 3 3 ... 3 и т. д. Кстати я реализовал это

  nyear<-20
  names<-c(rep(1,nyear),rep(2,nyear),rep(3,nyear),rep(4,nyear),
          rep(5,nyear),rep(6,nyear),rep(7,nyear),rep(8,nyear))

который работает, но неуклюж и, очевидно, не очень хорошо масштабируется. Как повторить N целых чисел M раз каждый в последовательности? Я попытался вложить seq() и rep (), но это не совсем то, что я хотел. Очевидно, я могу написать цикл for, который это сделает, но это также кажется неуклюжий - должен быть внутренний способ сделать это!

1 ответов


вы пропустили до rep():

R> n <- 3
R> rep(1:5, each=n)
 [1] 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5
R> 

таким образом, ваш пример можно сделать с помощью простого

R> rep(1:8, each=20)