如何用R计算积分

时间:2011-09-09 08:03:40

标签: r integral

在这里,我想帮助你实现两个向量上积分的计算。我检查了相对于R的积分计算页面。但是,我几乎没有数学训练,所以我仍然不能自己做。

我的目标是实现这句话的想法“如果按位置绘制速率估计值,遗传图谱只是该图的积分。”这意味着我有变量(费率,职位),每个职位都有自己的比率。我想计算每个位置的费率积分。这里的位置是单调增加的。

对于那些具有良好数学计算背景的人来说,这项任务不应该那么复杂。那么,请你给我任何指示/指示吗?

提前致谢。

# here I make dummy data

position <- c(2,34,58)
rate <- c(14, 20, 5)  

1 个答案:

答案 0 :(得分:3)

在数学中,积分是曲线下面积。在您的示例中,您希望曲线下方的区域由位置和速率定义。

position <- c(2,34,58)
rate <- c(14, 20, 5)  

plot(position, rate, type="l", ylim=c(0, 25))

enter image description here

您可以使用梯形规则手动计算曲线下面积:

32*17 + 24*12.5 = 844

或者,以编程方式执行:

AUC <- function(x, y){
  sum(diff(x)*rollmean(y,2))
}

AUC(position, rate)
[1] 844