我有以下資料框:
A<-data.frame(AgentNo=c(1,2,3,4,5,6),
N=c(2,5,6,1,9,0),
Rarity=c(1,2,1,1,2,2))
AgentNo N Rarity
1 1 2 1
2 2 5 2
3 3 6 1
4 4 1 1
5 5 9 2
6 6 0 2
B<-data.frame(Rank=c(1,5),
AgentNo.x=c(2,5),
AgentNo.y=c(1,4),
N=c(3,1),
Rarity=c(1,2))
Rank AgentNo.x AgentNo.y N Rarity
1 1 2 1 3 1
2 5 5 4 1 2
我想通過列“AgentNo”=“AgentNo.y”和“N”=“N”將 B 連接到 A 上,而不是從 BI 將新列添加到 A 想要來自 A 的相同列,但是連接值已經更新并取自 B.
對于任何連接的行,我希望 A.AgentNo 現在成為 B.AgentNo.x,AN 成為 BN,A.Rarity 成為 B.Rarity。我想完全放棄 B.Rank 和 B.Agent.y。
結果應該是:
Result<-data.frame(AgentNo=c(2,2,3,5,5,6), N=c(2,5,6,1,9,0), Rarity=c(1,2,1,1,2,2))
AgentNo N Rarity
1 2 3 1
2 2 5 2
3 3 6 1
4 5 1 2
5 5 9 2
6 6 0 2
uj5u.com熱心網友回復:
經過一些資料整理后,您可以使用以下值rows_update
更新行:A
B
library(dplyr)
A <- A %>%
mutate(AgentNo.y = AgentNo)
B <- select(B, AgentNo = AgentNo.x, AgentNo.y, N, Rarity)
rows_update(A, B, by = "AgentNo.y") %>%
select(-AgentNo.y)
輸出
AgentNo N Rarity
1 2 3 1
2 2 5 2
3 3 6 1
4 5 1 1
5 5 9 2
6 6 0 2
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/527687.html
標籤:rdplyr左连接
上一篇:洗掉特定字串R的重音符號