【发布时间】:2018-04-13 09:23:05
【问题描述】:
我在 R 中有一个数据框,我从一个包含两列的文本文件中读取,每列的每个值都有多个整数。我需要从另一列(End)中的相应整数中减去一列(Start)中的相应整数。最后一步我最终想要得到的是将所有距离相加,以获得每条轨道的总距离。下面的数据框只是一个示例,但有问题的数据框每列大约有 20 个整数,并且有几十个轨道(行)。
对于轨道 A:(15-6)+(20-5)+(7-1)
track StartDist EndDist
A 1, 5, 6 7, 20, 15
B 1, 7, 8, 11 6, 21, 22, 25
我会使用函数separate(),但每列的整数数量不相等。我还考虑过重新制作数据框,每行只包含一个整数,但我最终会得到成千上万行,然后必须再次将它们组合回来以计算每个轨道的总数。有什么建议吗?
【问题讨论】:
-
制作你的“长”文件,每行只包含一个整数是我通常会做的。然后,您可以简单地执行
End-Start并使用任意数量的函数(如 base R 中的aggregate、dplyr 的group_by或 data.table 的by=处理)计算每个track组的总和。 -
@thelatemail 如果您可以将其扩展为正确的答案,将会很高兴。这是一个很好的问题 imo,答案会很棒!