Создайте последовательность 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4 с помощью seq()

#r

#r

Вопрос:

Я пытаюсь создать последовательность 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4 с помощью команды seq() . Может ли кто-нибудь сказать мне, возможно ли это сделать?

Ответ №1:

Да, путем переноса seq() внутри вызова с rep() использованием его each аргумента:

 > rep(seq(0,4), each=5)
[1] 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4
> 
  

Ответ №2:

Рискуя не ответить на поставленный вопрос, вам не нужен seq() для этого. rep() выполнит эту работу.

 > rep(0:4, each=5)
[1] 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4
>
  

Комментарии:

1. Это функционально идентично тому, что я опубликовал за восемь минут до вас.

Ответ №3:

Ну, вы должны использовать rep функцию, но вот решение, которое использует seq :

 floor(  seq(from=0, to=4 0.999, length.out=5*(4 1))  )
#### [1] 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4
  

И команда floor , которая округляет числа до наименьшего целого числа.

Комментарии:

1. Но… он не только использует seq .