Оставить каждое 3-е значение вектора

Вопросы по статистическому пакету R. Не обязательно гео.
Ответить
Аватара пользователя
VistaSV30
Активный участник
Сообщения: 185
Зарегистрирован: 02 июл 2018, 15:05
Репутация: 7
Откуда: Балашиха

Оставить каждое 3-е значение вектора

Сообщение VistaSV30 » 18 сен 2020, 11:32

Добрый день!

Подскажите, как сделать так, что бы осталось только каждое третье значение в векторе

Код: Выделить всё

x <- sample(1:100, 12)
[1] 39 52 16 42  6 63 76 83 90 62 71 44
# Должно получится
[1] NA NA 16 NA  NA 63 NA NA 90 NA NA 44
Спасибо!
Природа не просто эксцентричнее, чем мы полагаем - она эксцентричнее, чем мы способны предположить. John Haldane

nickleb
Гуру
Сообщения: 964
Зарегистрирован: 22 май 2010, 20:20
Репутация: 154

Re: Оставить каждое 3-е значение вектора

Сообщение nickleb » 18 сен 2020, 12:42

Код: Выделить всё

replace(x, 1:length(x) %% 3 != 0, NA)

Аватара пользователя
VistaSV30
Активный участник
Сообщения: 185
Зарегистрирован: 02 июл 2018, 15:05
Репутация: 7
Откуда: Балашиха

Re: Оставить каждое 3-е значение вектора

Сообщение VistaSV30 » 18 сен 2020, 13:56

Я так и предполагал, что можно сделать в одну строку.
У меня такой код:

Код: Выделить всё

x <- sample(1:100, 12)
x1 <- rep(NA, length(x))
Ind <- seq(1,length(x), by=3)
x1[Ind] <- x[Ind]
Природа не просто эксцентричнее, чем мы полагаем - она эксцентричнее, чем мы способны предположить. John Haldane

Ответить

Вернуться в «R»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей