我会使用两个变量time
和pH
来计算时间序列的一阶导数(dpH / dtime)。
在R中是否有任何类型的函数可以执行此操作,还是应该计算额外的函数来执行此操作?
答案 0 :(得分:16)
假设pH
和time
是普通向量,请尝试:
library(pspline)
predict(sm.spline(time, pH), time, 1)
答案 1 :(得分:10)
您可能希望以Matt L建议的stats::deriv
或diff.ts
开头。请记住我的一位教授曾经告诉他的所有学生:数字差异被称为“误差乘数”。
编辑:
澄清一下 - 他警告的是,你的数据中的任何噪音都会导致衍生估计偏离。据说集成是低通滤波器,而差分是高通滤波器。
因此,重要的是在计算导数之前对数据进行一些平滑处理。因此,Gabor使用predict.spline
的出色建议。但请记住,修改样条曲线参数会使数据平滑到不同的水平,因此请始终查看结果,以确保删除明显的噪音但不是所需的功能。
答案 2 :(得分:1)