Страница 1 из 1

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

Добавлено: 18 сен 2020, 11:32
VistaSV30
Добрый день!

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

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

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
Спасибо!

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

Добавлено: 18 сен 2020, 12:42
nickleb

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

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

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

Добавлено: 18 сен 2020, 13:56
VistaSV30
Я так и предполагал, что можно сделать в одну строку.
У меня такой код:

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

x <- sample(1:100, 12)
x1 <- rep(NA, length(x))
Ind <- seq(1,length(x), by=3)
x1[Ind] <- x[Ind]