Вычтите смещенные векторы в R - PullRequest
7 голосов
/ 24 февраля 2012

Скажем, у меня есть вектор в R:

x <- c(1,2,3)

существует ли краткий способ создания нового вектора y, который на единицу меньше размера x, где:

y <- x[i+1] - x[i]

без использования цикла for?

Ответы [ 2 ]

13 голосов
/ 24 февраля 2012

diff(x) - очевидный ответ.

Более простой альтернативой является x[-1] - x[-length(x)], и его легко можно адаптировать, например, к суммам или произведениям последовательных терминов

4 голосов
/ 24 февраля 2012

Вы можете использовать «diff», чтобы получить разницу между двумя последовательными элементами в списке, например,

:

diff(x)

.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...