【发布时间】:2020-08-25 11:24:27
【问题描述】:
我有两个数据框,它们是包含列“源”和“目标”作为前两列的边缘列表,第二个数据框包括具有边缘属性的第三列。这两个数据帧的长度不同,我希望 (1) 从一个数据帧中检索不在另一个数据帧中的边,以及 (2) 从第二个数据帧中获取值以匹配边。
例子:
> A <- data.frame(source=c("v1", "v1", "v2", "v2"), target=c("v2", "v4", "v3", "v4"))
> B <- data.frame(source=c("V1", "V2", "v1", "V4", "V4", "V5"), target=c("V2", "V5", "V3", "V3", "V2", "V4"), variable=c(3,4,0,2,1,0))
> A
source target
1 v1 v2
2 v1 v4
3 v2 v3
4 v2 v4
> B
source target variable
1 V1 V2 3
2 V2 V5 4
3 v1 V3 0
4 V4 V3 2
5 V4 V2 1
6 V5 V4 0
理想的结果(1):
source target
1 V2 V5
2 V1 V3
3 V4 V3
4 V5 V4
理想的结果(2):
source target variable
1 V1 V2 3
2 V2 V4 1
如何使用 R 实现这一点?
【问题讨论】:
-
为什么 V4->V2 不在结果 1 中?方向不重要?
标签: r dataframe match pairwise