【发布时间】:2018-10-29 14:22:53
【问题描述】:
有下表:
read.table(text = "route origin dest seq
1 a b 1
1 b c 2
1 c d 3
1 d e 4
2 f g 1
2 g h 2
2 h i 3", header = TRUE)
我正在尝试找到一种遍历每一行的方法,按路线分组,并迭代每个可能的起始目的地对组合,同时考虑到 seq 变量和提到的路线。
输出应该是这样的:
origin dest
a b
a c
a d
a e
b c
b d
(...) (...)
这背后的想法是火车,例如路线 1,从 a 到 e。但是,我想列出所有可能的火车对。我尝试使用 igraph 但没有成功。 dplyr 有什么想法吗?
【问题讨论】:
-
根据您的输入,您希望在预期输出中有多少行
-
试试
library(tidyverse); expand(df1, route, origin, dest) -
@akrun 好吧,我希望路线 1 为 9。因此,起点和终点的组合始终是下一行的终点。
expand的问题是它一直到表的末尾并且由于某种奇怪的原因没有考虑到组。 -
@FilipeTeixeira,你确定吗?我认为路线 1 是 10?
-
@PKumar 你说得对,现在是 10 点。我只是有点睡眠不足。