楼主: sumsliu
716 5

[实际应用] 请教如何快速处理这类问题!谢谢 [推广有奖]

  • 1关注
  • 1粉丝

博士

硕士生

27%

还不是VIP/贵宾

-

威望
0
论坛币
14 个
通用积分
2.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
14744 点
帖子
101
精华
0
在线时间
173 小时
注册时间
2009-2-6
最后登录
2023-4-4

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
处理问题的时候遇到一个问题,看似简单,但因为数据量大使用for循环非常慢,请教大神能否有快速的方案。谢谢!
需求是:把table的表格 按照name 列把ID数值合并入object中。如图,谢谢 1605616468(1).jpg 1605616500(1).jpg

二维码

扫码加我 拉你入群

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

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

关键词:如何快速 object for循环 Table ABLE

一起努力
沙发
sumsliu 发表于 2020-11-17 20:36:51 |只看作者 |坛友微信交流群
希望高手出手帮助,感谢

使用道具

藤椅
sumsliu 发表于 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)

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

使用道具

板凳
drunkfish69 发表于 2020-11-18 16:36:06 |只看作者 |坛友微信交流群
  1. df_id %>% left_join(id, by="name") %>% mutate(ID=ID.y) %>% select(-ID.x, -ID.y)
复制代码

使用道具

报纸
llb_321 在职认证  发表于 2020-11-19 00:44:09 |只看作者 |坛友微信交流群
呵呵 这类问题解释过好多次了 真的不想再回答了 不过楼主自己的方法也着实动了脑筋

使用道具

地板
nieqiang110 学生认证  发表于 2020-11-20 21:19:01 |只看作者 |坛友微信交流群
llb_321 发表于 2020-11-19 00:44
呵呵 这类问题解释过好多次了 真的不想再回答了 不过楼主自己的方法也着实动了脑筋
给lib_321老师点赞

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-22 05:34