Как вычислить первую производную временных рядов

Я бы вычислил первую производную (dpH/dtime) временных рядов, используя две переменные, time и pH.

Существуют ли какие-либо функции для этого в R или я должен вычислить дополнительную функцию для этого?

Ответ 1

Предполагая, что pH и time являются простыми векторами, попробуйте это:

library(pspline)
predict(sm.spline(time, pH), time, 1)

Ответ 2

Возможно, вы захотите начать с stats::deriv или diff.ts, как предположил Matt L. Просто имейте в виду, что мой учитель рассказывал всем своим ученикам: цифровое дифференцирование известно как "множитель ошибок".

EDIT: Чтобы уточнить, о чем он предупреждал, было то, что любой шум в ваших данных может выбросить производную оценку. Было сказано, что интеграция представляет собой фильтр нижних частот, а дифференциация - фильтр верхних частот. Итак, важно сделать некоторые сглаживания ваших данных перед вычислением производной. Следовательно, Габор предлагает отличное предложение использовать predict.spline. Но имейте в виду, что изменение параметров сплайна позволит сгладить ваши данные на разные уровни, поэтому всегда смотрите на результаты, чтобы убедиться, что вы удалили кажущийся шум, но не желали.