在R中集成非参数曲线

6

警告一下,我昨天才开始使用R……如果有什么看起来太简单了,请原谅。

现在我正在尝试让R读取一个带有撞击加速度计数据的.txt文件,并为其计算头部损伤标准测试。 HIC测试要求对数据进行某个间隔的积分。

方程式在下面的链接中……我试图将其插入到此处作为图像,但它不允许我这样做。 显然,我需要一些声誉点数才能让我这样做。

equation

a(t)是加速度曲线。

到目前为止,我还没有遇到在R中生成适合数据匹配的曲线的问题。 loess函数非常好用,正是我在寻找的东西……只是我不知道如何集成它。 据我所知,loess是一种非参数回归,因此无法确定曲线本身的方程。 但是有没有办法将其集成?

如果不行,是否可以使用其他函数完成此任务?

任何帮助或有见地的评论都将不胜感激。

提前致谢,

Wes

还有一个问题,James,使用integrate()函数时,如何仅获取数字而无需文本和错误?


你不能通过线性插值在相邻数据点之间进行“积分”,并每次计算线条下面的面积(梯形)吗?看起来你不需要精度(因为你愿意接受loess作为函数逼近)? - Nick Sabbe
使用点本身而不是拟合线的问题在于传感器往往会产生相当多的噪音...目标是平滑这些噪音。我认为使用像loess这样的线性近似实际上会更接近。 - user1003131
1个回答

9
你可以在你的 loess 模型上使用 predict 函数创建一个可用于 integrate 的函数。
# using the inbuilt dataset "pressure"
plot(pressure,type="l")

# create loess object and prediction function
l <- loess(pressure~temperature,pressure)
f <- function(x) predict(l,newdata=x)

# perform integration
integrate(f,0,360)
40176.5 with absolute error < 4.6

仅提取值:

integrate(f,0,360)$value
[1] 40176.5

还有一个问题,詹姆斯,我怎么只能获取数字而不包括文本和错误信息? - user1003131
@user1003131 的评论是正确的,我会将其添加到答案中。 - James
@user1003131 随意接受此答案作为正确答案,以感谢帮助您的人。 - Nick Sabbe
@Nick Sabbe- 谢谢您指出这个问题,我是新来的,不知道这一点。 - user1003131

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接