我有一个 A 矩阵的数据框,如下所示:
V1 V2 V3
1 1 1 1
2 2 1 0
3 2 2 1
4 3 1 0
5 3 2 0
6 3 3 1
我还有一个交叉引用数据框,其中包含原始 ID
和新 ID
,如下所示:
ID newID
1 SE1 1
2 T3 2
3 R5 3
4 R7 4
5 R9 5
6 A11 6
如何获取这样的数据框(在创建新列 ID1
和 ID2
之后)?
V1 V2 V3 ID1 ID2
1 1 1 1 SE1 SE1
2 2 1 0 T3 SE1
3 2 2 1 T3 T3
4 3 1 0 R5 SE1
5 3 2 0 R5 T3
6 3 3 1 R5 R5
最佳答案
我们可以使用 inner_join
两次:
library(dplyr)
df %>%
inner_join(df1, by=c("V1"="newID")) %>%
inner_join(df1, by=c("V2"="newID")) %>%
rename(ID1 = ID.x, ID2 = ID.y)
V1 V2 V3 ID1 ID2
1 1 1 1 SE1 SE1
2 2 1 0 T3 SE1
3 2 2 1 T3 T3
4 3 1 0 R5 SE1
5 3 2 0 R5 T3
6 3 3 1 R5 R5
关于r - 如果一个数据框中的多个值重复多次,如何将它们替换为另一个数据框中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68897787/