所以我有一个很大的数据帧。第一列是父列,第二列是子列。
- 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)