Ответ 1
Предполагая, что pH
и time
являются простыми векторами, попробуйте это:
library(pspline)
predict(sm.spline(time, pH), time, 1)
Я бы вычислил первую производную (dpH/dtime) временных рядов, используя две переменные, time
и pH
.
Существуют ли какие-либо функции для этого в R или я должен вычислить дополнительную функцию для этого?
Предполагая, что pH
и time
являются простыми векторами, попробуйте это:
library(pspline)
predict(sm.spline(time, pH), time, 1)
Возможно, вы захотите начать с stats::deriv
или diff.ts
, как предположил Matt L. Просто имейте в виду, что мой учитель рассказывал всем своим ученикам: цифровое дифференцирование известно как "множитель ошибок".
EDIT:
Чтобы уточнить, о чем он предупреждал, было то, что любой шум в ваших данных может выбросить производную оценку. Было сказано, что интеграция представляет собой фильтр нижних частот, а дифференциация - фильтр верхних частот.
Итак, важно сделать некоторые сглаживания ваших данных перед вычислением производной. Следовательно, Габор предлагает отличное предложение использовать predict.spline
. Но имейте в виду, что изменение параметров сплайна позволит сгладить ваши данные на разные уровни, поэтому всегда смотрите на результаты, чтобы убедиться, что вы удалили кажущийся шум, но не желали.
Здесь ссылка на "Численное дифференцирование".
http://en.wikipedia.org/wiki/Numerical_differentiation
Здесь ссылка, описывающая метод, основанный на разложениях серии Тейлора: