r - 如何在R中找到曲线下的面积?
问题描述
我有两列 X1 ,X2 。我想找到 X1 下的区域和 X2 下的区域。
X = c(1,2,3,4,5)
Y1 = c(2,3,4,2,3)
Y2 = c(6,6,6,6,6)
plot(X,Y1) #Need to get area under this curve i.e auc(Y1)
plot(X,Y2) #Need to get area under this curve i.e auc(Y2)
我需要这个,以便我需要通过 AUC(Y1)/AUC(Y2) 的比率来比较两个区域,即 Y1 和 Y2
我在每个点都需要公共区域。
解决方案
假设auc(Y1)
你的意思是曲线下的面积
plot(1:5,Y1,type = "l")
您可以只使用梯形规则,其步长为 1 可以这样计算:
auc <- function(y){
n <- length(y)
0.5*(y[1]+y[n]+2*sum(y[-c(1,n)]))
}
例如:
> auc(Y1)
[1] 11.5
推荐阅读
- google-cloud-functions - 如何使用 Google Cloud Monitoring 监控云功能错误率?
- python - 熊猫到 JSON 文件格式问题,将 \ 添加到字符串
- oauth-2.0 - 如何在 Microsoft Power Automate 中使用自己的 OAuth2 连接自定义 API?
- javascript - 更优雅的加载#container(如谷歌浏览器)
- python - 在代码中使用并使用 Windows
- typescript - 导出你的类不像使用私有构造函数那样严格吗?
- python - Python:检查先前时间戳中是否存在唯一ID,如果存在,则检查之前的时间戳(依此类推)
- discord.py - 试图做一种 pls dep all 或 pls dep max 之类的东西
- php - 试图在 php 中检查上午 9 点以上的时间,但不会在 10 点以上做任何事情?
- javascript - 如何在承诺链中返回一个值?