R语言:如何通过匹配行名将df2的值替换到df1对应行?
解决方案
基础R方法
直接利用行名索引完成替换,操作简洁高效:
# 替换df1中与df2行名匹配的行 df1[rownames(df2), ] <- df2
执行后df1将更新为目标数据框:
X1 X2 X3 a 2 1 8 b 9 4 7 c 8 6 0 d 5 5 6 e 4 2 3 f 0 2 2
tidyverse/dplyr方法
如果习惯使用tidyverse生态,dplyr的rows_update()函数可以更直观地实现需求:
library(dplyr) # 基于行名匹配并替换对应行 df1 <- df1 %>% rows_update(df2, by = "rowname")
该函数会自动匹配两个数据框的行名,将df1中对应行替换为df2的内容,最终结果与基础R方法完全一致。
内容的提问来源于stack exchange,提问作者fishermen1275
相关产品推荐
相关产品推荐

