Получение различий между последовательными значениями в столбце (или векторе) путем игнорирования значений NA - PullRequest
0 голосов
/ 26 марта 2019

Я хочу получить различия для последовательных факторов в векторе (или столбце данных). Но я должен игнорировать значения NA для этой операции.

difference <- abs(vector[i] - vector[i+1])

Если значения вектора [i] или вектора [i + 1] равны NA, вышеуказанную операцию следует игнорировать.

Мне нужна твоя помощь.

1 Ответ

1 голос
/ 26 марта 2019

Вы можете использовать встроенную функцию diff в R, чтобы сначала вычислить различия.Это вернет вектор, содержащий некоторые NA значения (соответствующие NA в x).Затем вы можете удалить их, оставив вектор, содержащий только не-1006 * значения.

# make a vector with some NA values
x = rnorm(100)
x[sample(c(T, F), 100, prob = c(0.05, 0.95), replace=T)] = NA

# compute differences and take absolute value
d = abs(diff(x))
# remove na values
d2 = d[!is.na(d)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...