1

所以我有一个很大的data.frame。第一列是父项,第二列是子项。

  • 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

最好的方法是什么?

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

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

4

1 回答 1

0

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

DF <- data.frame(par=rep(1:4, each=4), child = 5:20, granchild = 21:36)
split(DF, DF$par)
于 2012-04-06T01:27:36.523 回答