【发布时间】:2012-12-13 11:34:52
【问题描述】:
这是我的数据框 SHORT:
ID IDaxis Y Date-Time Tdiff
1 1 5 2012-06-11 13:10:30 0.00
1 1 10 2012-06-11 15:10:30 2.00
1 1 20 2012-06-11 17:10:30 2.00
1 3 15 2012-06-11 13:20:30 0.00
1 3 30 2012-06-11 14:20:30 1.00
1 3 45 2012-06-11 17:20:30 3.00
1 6 9 2012-06-11 13:35:30 0.00
1 6 15 2012-06-11 15:35:30 2.00
1 6 30 2012-06-11 18:35:30 3.00
3 2 8 2012-06-11 13:50:30 0.00
3 2 14 2012-06-11 14:55:30 1.083
3 2 20 2012-06-11 16:55:30 2.00
3 2 30 2012-06-11 19:00:30 2.083
3 5 10 2012-06-11 13:40:30 0.00
3 5 15 2012-06-11 16:45:30 3.083
ID - 植物
IDaxis - 植物叶子
Y - 叶长
日期 - 时间 - 测量日期和时间
Tdiff - time(h) 测量间隔
我想做(示例 SHORT1):
1) 在 SHORT$Ttot 列中总结 IDaxis 的 Tdiff
2) 计算 SHORT$Ydiff 列中 IDaxis 的 Y 行之间的差异
3) 在 SHORT$Ytot 列中为 IDaxis 总结 Ydiff
示例 SHORT1:
Ydiff - 测量之间的长度间隔
Ytot - 从测量到测量的长度间隔之和
Ttot - 从测量到测量的时间间隔总和
如果我拆分数据框,我知道如何为 IDaxis 计算此值。我的问题是我有三个数据框,每个 700 ID,每个都有 100 IDaxis。我不知道如何为整个数据框自动执行此操作。提前谢谢你。
【问题讨论】:
-
您正在寻找函数
diff和cumsum和plyr::ddply(或其竞争者之一)。如果你有presented your data in a way I could copy into my R session,我会告诉你如何使用这些函数。 -
谢谢,那太好了。我开始以允许您复制我的数据框的方式编辑我的数据。
-
这是一团糟。我怎样才能做得更好?
标签: r if-statement for-loop