id = data.frame(
name= c("张三", "李四","王五"),
ID = c("001","002","003"))
df_id = data.frame(
name= c("张三", "李四","六六","王五","老八"),
ID = c(NA,NA,NA,NA,NA),
salary = c(NA,NA,NA,NA,NA),
fat = c(NA,NA,NA,NA,NA))
# table:取出来的数据
# object:每个ID流水号的大表
# val:值所在列的名称+”.y
# key: 合并列的名称
mergeFun <- function(table,object,val = "ID.y",key = "name"){
colname <- colnames(object)
new <- merge(table,object,by = key,all = T,suffixes=c("",".y"))
new <- new[,-which(colnames(new) %in% c(val))]
}
id_table <- mergeFun(id,df_id)
自己解决了,谢谢
如果有更好方案,欢迎指出,谢谢
|