曲线下面积可以使用以下公式计算trapz的功能pracmaR. iAUC 中的包在许多情况下更加准确,特别是在生物学中。然而据我所知,没有 R 函数可以计算这个。陷阱函数如下:
Example:
a <- c(1, 4, 5, 6)
b <- c(2, 4, 6, 8)
plot(a, b)
trapz(a, b)
答案:21
有谁知道如何用R计算iAUC?可以找到指南.
提前致谢。
Update
针对郑佑的回答如下:另一个例子
# Recall that trapz-function is available in the pracma package
# Here is the function kindly provided by Cheng-Yow Timothy Lin
library(pracma) # should be loaded already
traps <- function(a, b) {
for (i in 1:length(b)-1){
iAUC[i] <-((b[i]+b[i+1])/2)*(a[i+1]-a[i])
}
return(sum(iAUC))
}
# Data example
a <- c(-15, -5, 1, 2, 3, 5, 8, 10, 15, 20, 30, 45, 60, 90, 120)
b <- c(50.20604, 49.59338, 47.39944, 56.38831, 69.43493, 73.92512, 61.92072, 67.92632, 115.45669,
195.03242, 322.15894, 291.30094, 289.20284, 238.70562, 156.23798)
traps(a, b)
trapz(a, b)
它们产生相同的结果 - 这是曲线下的增量面积吗?这不是他们解释 trapz 函数的方式......
感谢您的任何启发!