gpt4 book ai didi

r - 在覆盖图中转换轨迹中的距离

转载 作者:行者123 更新时间:2023-11-29 09:50:44 24 4
gpt4 key购买 nike

我有一条有一定距离的轨道。我在该轨道上也有一个距离坐标文件。我现在想知道轨迹中的每个位置被坐标文件覆盖了多少次。

例如,为了简单起见,我的轨道长度为10,我的坐标文件有以下事件:

ID START END AMOUNT
1 2 4 1
2 3 7 2
3 3 4 1
4 4 10 1

这里我们看到 4 个事件,第二个事件发生了两次,因此需要计算两次。输出应该是:

POS COV
2 1
3 4
4 5
5 3
6 3
7 3
8 1
9 1
10 1

这对于我的目的来说是非常具体的,但我觉得解决方案非常简单,我没有正确地使用谷歌搜索。

谢谢。

最佳答案

这是一个通过 base R 使用 mapply 的解决方案,

as.data.frame(table(unlist(rep(mapply(`:`, df$START, df$END), df$AMOUNT))))

这给出了,

  Var1 Freq
1 2 1
2 3 4
3 4 5
4 5 3
5 6 3
6 7 3
7 8 1
8 9 1
9 10 1

分解以上内容:

  • mapply(`:`, df$START, df$END):创建序列开始停止
  • rep(mapply(`:`, df$START, df$END), df$AMOUNT)):将每个序列复制 AMOUNT
  • table(unlist(rep(mapply(`:`, df$START, df$END), df$AMOUNT))):创建频率表
  • as.data.frame:将其包装成一个数据框(table 的原始输出是一个命名向量)

关于r - 在覆盖图中转换轨迹中的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46910842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com