【发布时间】:2017-08-10 17:26:29
【问题描述】:
如果我有这样的数据框:
ID GroupID X Y
1 a 772.7778 226.5
1 a 806.5645 35.3871
1 a 925.5714 300.9286
1 b 708.0909 165.5455
1 b 630.8235 167.4118
2 a 555.3333 151.875
2 a 732.8947 462.3158
这是我想要的结果:
ID GroupID X Y Distance
1 a 772.7778 226.5 NA
1 a 806.5645 35.3871 dist between((772.7778,226.5),(806.5645,35.3871))
1 a 925.5714 300.9286 dist between((925.5714,300.9286),(806.5645,35.3871))
1 b 708.0909 165.5455 NA
1 b 630.8235 167.4118 dist between((708.0909,165.5455),(630.8235,167.4118))
2 a 555.3333 151.875 NA
2 a 732.8947 462.3158 dist between((732.8947,462.3158),(555.3333,151.875))
基本上是ID和GroupID之间的距离。这里的 NA 表示在每个子组中(例如 ID=1;GroupID=a),第一个距离是 NA。有没有人可以帮助我?谢谢!!!
【问题讨论】:
-
dist很好。 -
@ycw,它们是数值,这里的 x1 x2 只是为了表明它们是不同的值。
-
@ycw 已更改,感谢提示
-
@StevenBeaupré 我试过 dplyr
-
@alistaire 谢谢,我试过了,它有效,但我需要用子组计算值。
标签: r euclidean-distance