Подтвердить что ты не робот

R как перечислить все остальные элементы?

Скажем, у меня был вектор remove<- c(17,18,19,20,24,25,30,31,44,45). Как получить любое другое значение в векторе? Например: 17,19,24,30,44

Я пытаюсь использовать функцию seq: seq(remove, 2), но она не работает.

Любая помощь очень ценится.

4b9b3361

Ответ 1

remove[c(TRUE, FALSE)]

сделает трюк.


Как это работает?

Если для индексации в R используются логические векторы, их значения возвращаются, если индексный вектор короче вектора, содержащего значения.

Здесь вектор remove содержит десять значений. Если используется индексный индекс c(TRUE, FALSE), фактическая команда: remove[c(TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE)]

Следовательно, выбираются все значения с нечетными номерами индексов.

Ответ 2

remove[seq(1,length(remove),2)]

Ответ 3

Еще одна альтернатива:

> remove[seq_along(remove) %% 2 > 0]
[1] 17 19 24 30 44