使用不同的起点和终点计算曲线下面积

时间:2015-02-21 20:16:16

标签: r auc

我想计算大数据帧每列的曲线下面积,其中每列的积分限制不同,并存储在不同的数据帧(df2)中。特别是,df2表示积分的起点和终点的位置。

n = 1:100

s = 52:151

b = 68:167

df = data.frame(n, s, b) 


start = c(45,50,38)

end = c(68,70,72)

df2 = data.frame(start, end)

我使用了来自MESS库的函数auc,以便从一列计算auc,但我已经堆叠为所有人做了

任何人都可以提供一些建议,告诉我如何做到这一点?还有另一个更适合我的问题的方案吗?

提前谢谢

1 个答案:

答案 0 :(得分:0)

矢量中的结果:

x <- 1:100 #I guess

setNames(
  sapply(seq_len(ncol(df)), 
         function(i) auc(x, df[[i]], df2$start[i], df2$end[i]) ),
  names(df)
  )

或作为数据框:

df3 <- as.data.frame( setNames(
  lapply(seq_len(ncol(df)),
         function(i) auc(x, df[[i]], df2$start[i], df2$end[i]) ),
  names(df)
  ))