R语言如何匹配数据框值到列表内数据框并追加匹配结果列
R语言匹配取值到列表内数据框的实现方法
基础R实现
直接通过match函数完成位置匹配后赋值即可,代码如下:
myList$newDf$value <- df$value[match(myList$newDf$var, df$variable)]
运行后查看myList$newDf即可得到预期结果,match函数未匹配到的内容(包括NA值)会自动返回NA,完全符合需求。
tidyverse/dplyr 实现
如果你习惯使用dplyr的管道操作,通过左连接实现逻辑更直观:
library(dplyr) myList$newDf <- left_join(myList$newDf, df, by = c("var" = "variable"))
左连接会自动保留newDf的所有原始行,未匹配到对应variable的行value列自动填充为NA。
内容的提问来源于stack exchange,提问作者Electrino
相关产品推荐
相关产品推荐

