使用递归合并函数或其他功能查找父级的所有后代



所以我有一个很大的数据帧。第一列是父列,第二列是子列。

  • 1 -> 2
  • 1 -> 3
  • 2 -> 3
  • 2 -> 4
  • 2 -> 5
  • 6 -> 7
  • 6 -> 8
  • 7 -> 9

等等..

问题:对于父母的子样本,我想找到他们所有的后代。也就是说,对于一组父母来说,我需要他们的孩子、孙子孙女等......

输出示例:使用上面的数字,如果我想得到一个包含 1 后代的 data.frame,我会得到

  • 1 -> 2
  • 1 -> 3
  • 2 -> 3
  • 2 -> 4
  • 2 -> 5

但不在下面,因为这些不是 1 的后代。他们来自不同的家庭。

  • 6 -> 7
  • 6 -> 8
  • 7 -> 9
最好的

方法是什么?

使用合并函数的自连接的递归函数?如果是这样,有什么好的例子吗?

还是已经有具有此功能的软件包?

也许你想要拆分,但我不完全确定我清楚你想要什么:

DF <- data.frame(par=rep(1:4, each=4), child = 5:20, granchild = 21:36)
split(DF, DF$par)

最新更新