-2

在这里,我想请您帮忙实现两个向量的积分计算。我查看了关于 R 积分计算的页面。但是,我对数学的训练很少,所以我仍然无法自己做到这一点。

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

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

提前致谢。

# here I make dummy data

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

1 回答 1

4

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

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

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

在此处输入图像描述

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

32*17 + 24*12.5 = 844

或者,以编程方式进行:

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

AUC(position, rate)
[1] 844
于 2011-09-09T08:49:49.437 回答