用于循环计算R中曲线下面积(无函数)

用于循环计算R中曲线下面积(无函数),r,for-loop,R,For Loop,我想知道如何使用原始数据集计算我在Origin Pro中绘制的图形下的面积(x轴=以秒为单位的时间,y轴=CO2浓度)。这个图没有函数,所以我知道我不能使用四元函数或任何一个积分函数 对于每个图,我需要计算60-960秒曲线下的总面积 以下是图表的一些坐标: 除了在60-960秒之间找到曲线下的区域外,我还想在另一个数据集中找到一系列计时(x轴值)的同一曲线下的区域,例如: 第二数据集: 因为我有很多图表要处理,所以有人建议我使用for循环来完成这项工作。我不是很懂R,所以任何关于如何以易于

我想知道如何使用原始数据集计算我在Origin Pro中绘制的图形下的面积(x轴=以秒为单位的时间,y轴=CO2浓度)。这个图没有函数,所以我知道我不能使用四元函数或任何一个积分函数

对于每个图,我需要计算60-960秒曲线下的总面积

以下是图表的一些坐标:

除了在60-960秒之间找到曲线下的区域外,我还想在另一个数据集中找到一系列计时(x轴值)的同一曲线下的区域,例如:

第二数据集:

因为我有很多图表要处理,所以有人建议我使用for循环来完成这项工作。我不是很懂R,所以任何关于如何以易于理解的方式实现自动化的建议都将不胜感激


如果我遗漏了任何信息,请告诉我。任何其他建议都非常受欢迎,我无法得到第一个建议答案。

这是简单的梯形求和规则:

AUC <- function (conc, time) 
{
    auc <- 0
    for (i in 2:(length(time))) {
        auc <- auc + (time[i] - time[i - 1]) * (conc[i] + conc[i - 1])/2
    }
auc
}

这是否意味着您要进行数值积分?这个“在Origin Pro中绘制的图形”是什么?更平滑?我认为这意味着根据Origin Pro软件输出的数据集的已知x和y值计算面积。如果这是真的,在图表上有一打左右的坐标样本将使演示更容易。梯形规则如何?
pracma
软件包有
trapz
功能来实现这一点。大家好,我添加了一些坐标作为图片来帮助回答这个问题。干杯关于这个的一些回溯信息谢谢Edward,但是如果它需要一个函数,而我的图形没有函数,我怎么能使用它呢?我不明白!你不需要函数。您只需要时间(x)和测量值(y)。
sapply(by(data=Indometh, INDICES = Subject, 
          FUN = function(x) auc(conc=x$conc, time=x$time)), as.numeric)
      1       4       2       5       6       3 
1.55375 2.24625 2.67875 1.69750 2.58375 2.59375 

library(pracma)
sapply(by(data=Indometh, INDICES = Subject, 
          FUN = function(x) trapz(x=x$time, y=x$conc)), as.numeric)
      1       4       2       5       6       3 
1.55375 2.24625 2.67875 1.69750 2.58375 2.59375