楼主: sumsliu
994 5

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

  • 1关注
  • 1粉丝

博士

硕士生

27%

还不是VIP/贵宾

-

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

楼主
sumsliu 发表于 2020-11-17 20:35:51 |AI写论文

+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
拉您进交流群
GMT+8, 2026-1-8 04:33