我有dataframe
名为cin
,在不同时间重复测量。
以下是head(cin)
:
rat t0 t30 t60 t90 t120 t180 t240
1 2 368.140 601.379 683.489 487.085 423.255 306.132 253.108
2 2 35.000 27.000 20.000 12.000 9.000 7.000 7.000
3 2 633.048 546.406 449.268 383.821 358.186 342.300 336.481
4 3 1044.160 738.000 442.000 297.000 234.000 232.000 235.000
5 3 74.000 78.000 67.000 54.000 46.000 41.000 40.000
6 3 211.181 142.615 160.104 163.867 181.148 170.053 189.865
我想使用我在this SO post上看到的公式计算曲线下的面积。
这是我的尝试:
times = c(0,30,60,90,120,180,240)
y = as.vector(t(cin[,2:8][1,])) #transposal of the first line -_-
auc_of_first_line = sum(diff(times[order(times)])*rollmean(y[order(times)],2))
这适用于第一行(但是带有丑陋的移植),但我似乎无法找到如何推广到cin$auc = sum...
我该怎么办?
答案 0 :(得分:1)
可能有更有效的方法。但这可能会让你得到你正在寻找的东西。
videoMirrored