全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
931 5
2020-11-17
处理问题的时候遇到一个问题,看似简单,但因为数据量大使用for循环非常慢,请教大神能否有快速的方案。谢谢!
需求是:把table的表格 按照name 列把ID数值合并入object中。如图,谢谢 1605616468(1).jpg 1605616500(1).jpg

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2020-11-17 20:36:51
希望高手出手帮助,感谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-11-17 21:20:38
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)

自己解决了,谢谢
如果有更好方案,欢迎指出,谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-11-18 16:36:06
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-11-19 00:44:09
呵呵 这类问题解释过好多次了 真的不想再回答了 不过楼主自己的方法也着实动了脑筋
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-11-20 21:19:01
llb_321 发表于 2020-11-19 00:44
呵呵 这类问题解释过好多次了 真的不想再回答了 不过楼主自己的方法也着实动了脑筋
给lib_321老师点赞
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群