Как создать последовательность, когда начало больше, чем останов - PullRequest
0 голосов
/ 22 ноября 2018

Я хотел бы создать последовательность, наподобие 10, 7, 4, 1

seq, функция не может этого сделать (начало больше, чем останов).Какая функция может сделать это?Я предпочитаю не зацикливать мою последовательность (это займет очень много времени, так как мне нужно обработать большое количество векторов таким образом).

> seq(10, 0, by=3)

Ошибка в seq.default(10, 0, by = 3): неверный вход в аргумент 'by'

Ответы [ 3 ]

0 голосов
/ 22 ноября 2018

Другим способом может быть создание логического вектора и подмножества.

n <- 3
(10:0)[c(TRUE, rep(FALSE, n - 1))]
#[1] 10  7  4  1
0 голосов
/ 22 ноября 2018
10 - 0:3 * 3
#[1] 10  7  4  1

Или для получения целых чисел (не чисел с плавающей запятой):

typeof(10 - 0:3 * 3)
#[1] "double"

10L - 0:3 * 3L
#[1] 10  7  4  1
0 голосов
/ 22 ноября 2018
seq(from = 10, to = 0, by = -3)
...