Получение элементов, которые появляются после добавления фиксированного числа из начального элемента в векторе - PullRequest
0 голосов
/ 09 мая 2019

Предположим, у меня есть

temp <- c(94, 95, 108, 110, 119, 122, 130, 137, 143, 149, 151)

, и мне нужно получить все элементы, которые появляются после добавления кратных 7 к начальному элементу (94).

Итак, нужнополучить что-то вроде ниже

94, 108, 122, 143

Я попробовал что-то вроде ниже:

b <- temp[seq(1, length(temp), 7)]
94 137

, что на самом деле неверно, поскольку он генерирует последовательность чисел, которая появляется после 7-го места в списке.

Есть предложения?

Ответы [ 2 ]

2 голосов
/ 09 мая 2019

Другой вариант - проверить, что по модулю после вычитания начального значения равняется нулю:

temp[(temp - 94) %% 7 == 0]
#[1]  94 108 122 143
1 голос
/ 09 мая 2019

Мы можем использовать intersect после генерации последовательности

intersect(seq(temp[1], max(temp), by = 7), temp)
#[1]  94 108 122 143
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...