0

我想计算大数据框每一列的曲线下面积,其中每列的积分限制不同,并存储在不同的数据框(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,但我已经为所有人进行了堆叠

谁能提供一些建议,告诉我如何做到这一点?还有另一个更适合我的问题的包吗?

先感谢您

4

1 回答 1

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)
  ))
于 2015-02-21T22:47:27.397 回答