用另一个 data.frame 的行更新 data.frame 的行
Updating rows of a data.frame with the rows of another data.frame
我想用 data.frame
df2
的行更新 data.frame
df1
的行。有什么提示吗?
df1 <-
data.frame(
"V1" = LETTERS[1:4]
, "V2" = 1:4
, "V3" = 7:10
)
df1
V1 V2 V3
1 A 1 7
2 B 2 8
3 C 3 9
4 D 4 10
df2 <-
data.frame(
"V1" = c("A","D")
, "V2" = c(5, 7)
, "V3" = c(12, 15)
)
df2
V1 V2 V3
1 A 5 12
2 D 7 15
需要输出
V1 V2 V3
1 A 5 12
2 B 2 8
3 C 3 9
4 D 7 15
使用 dplyr 1.0.0
rows_update(df1, df2)
Matching, by = "V1"
V1 V2 V3
1 A 5 12
2 B 2 8
3 C 3 9
4 D 7 15
试试这个:
df1[df1$V1 %in% df2$V1,c('V2','V3')] <- df2[df2$V1 %in% df1$V1,c('V2','V3')]
V1 V2 V3
1 A 5 12
2 B 2 8
3 C 3 9
4 D 7 15
我想用 data.frame
df2
的行更新 data.frame
df1
的行。有什么提示吗?
df1 <-
data.frame(
"V1" = LETTERS[1:4]
, "V2" = 1:4
, "V3" = 7:10
)
df1
V1 V2 V3
1 A 1 7
2 B 2 8
3 C 3 9
4 D 4 10
df2 <-
data.frame(
"V1" = c("A","D")
, "V2" = c(5, 7)
, "V3" = c(12, 15)
)
df2
V1 V2 V3
1 A 5 12
2 D 7 15
需要输出
V1 V2 V3
1 A 5 12
2 B 2 8
3 C 3 9
4 D 7 15
使用 dplyr 1.0.0
rows_update(df1, df2)
Matching, by = "V1"
V1 V2 V3
1 A 5 12
2 B 2 8
3 C 3 9
4 D 7 15
试试这个:
df1[df1$V1 %in% df2$V1,c('V2','V3')] <- df2[df2$V1 %in% df1$V1,c('V2','V3')]
V1 V2 V3
1 A 5 12
2 B 2 8
3 C 3 9
4 D 7 15