我有一个数据框架,包含一个人的列表和他们的邻居。然而,数据表明乔希是他自己,艾玛和尼克的邻居,但艾玛不是乔希的邻居。
x <- read.table(text = "
Name ID Neighbour_ID
Josh 1 1,2,3
Emma 2 4
Nick 3 1
Mark 4 5
Claire 5
", sep = " ", header = TRUE)
x
Name ID Neighbour_ID
1 Josh 1 1,2,3
2 Emma 2 4
3 Nick 3 1
4 Mark 4 5
5 Claire 5
这当然需要修正,我正在寻找一种方法来做到这一点。结果应该是这样的
Name ID Neighbour_ID
1 Josh 1 2,3
2 Emma 2 1,4
3 Nick 3 1
4 Mark 4 2,5
5 Claire 5 4
补充:如果您发现一个更适合这个问题的标题,请随时编辑!
2条答案
按热度按时间cbeh67ev1#
使用 igraph 包,将其转换为图形对象:
我会在这里停止,因为我们的数据是 graph 格式的。但是如果你需要你的输出是 * data.frame *,那么就得到 edgelists 并合并回原始数据。
nsc4cvqm2#