根据几列数据框计算出来的东西

时间:2017-06-14 12:50:29

标签: r dataframe

我有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...

我该怎么办?

1 个答案:

答案 0 :(得分:1)

可能有更有效的方法。但这可能会让你得到你正在寻找的东西。

videoMirrored