Как создать обратную последовательность в R

У меня есть последовательность ниже, которая имеет шаблон, который не меняется. Я могу создать вектор для представления отсутствующих переменных в этом шаблоне (ниже). Но я не могу понять, как распечатать эту конкретную последовательность ниже в виде вектора. Как можно создать вектор, который показывает последовательность ниже, но останавливается на определенной строке (последняя строка в шаблоне) вместо 51? Спасибо

bad <- seq(1,51,by=3)

2,3,5,6,8,9,11,12,14,15,17,18,20,21,23,24,26,27,29,30,32,33,35,36,38,39,41,42,44,45,47,48,50,51

r seq
person MostlyRquestions    schedule 04.12.2013    source источник
comment
Непонятно, чего именно вы хотите добиться. Вы просто хотите заменить значение to на seq?   -  person Ricardo Saporta    schedule 04.12.2013
comment
мне нужен вектор, который печатает приведенную выше последовательность. затем я бы использовал nrow(), чтобы заменить 51. данные, которые я очищаю, иногда имеют 51 строку, иногда 49, иногда 53... поэтому я хочу что-то вроде....плохой ‹- seq(1,nrow(x) ,по=3)   -  person MostlyRquestions    schedule 05.12.2013


Ответы (2)


cumsum(rep(c(2,1), 51/3))

хотя, наверное, неэффективно.

person baptiste    schedule 04.12.2013
comment
все предложенные решения работают, но это, пожалуй, самое медленное - person baptiste; 05.12.2013

Самый простой способ, который я могу придумать, - использовать «переработку» логического вектора:

(1:51)[c(FALSE, TRUE, TRUE)]
#  [1]  2  3  5  6  8  9 11 12 14 15 17 18 20 21 23 24 26 27 29 30 32 33 35 36 38 39
# [27] 41 42 44 45 47 48 50 51
person A5C1D2H2I1M1N2O1R2T1    schedule 04.12.2013