8669 11

[有偿编程] R语言:给定一列公司ID,怎么在另一个表里将两个表的交集部分提取出来? [推广有奖]

  • 0关注
  • 1粉丝

已卖:30份资源

博士生

8%

还不是VIP/贵宾

-

威望
0
论坛币
686 个
通用积分
2.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
6602 点
帖子
131
精华
0
在线时间
219 小时
注册时间
2015-4-23
最后登录
2022-2-12

楼主
横刀立马黄元帅 发表于 2017-4-2 01:14:27 |AI写论文
15论坛币
文件名为“id”的表是公司名称(包含900多个公司),文件名为“zf2016”的表是包含更多公司的数据(2000多个)。但第二个表有些公司不在第一个表里,且第一个表里的公司也不全在第二个表里。简而言之,就是根据两个表公司名称的交集部分,再把这些存在交集的公司的相关数据从第二个表里提取出来。数据已加在附件里。
因本科毕业论文需要,如果有人能帮我写出程序,将不胜感激,谢谢!

zf2016.xls
下载链接: https://bbs.pinggu.org/a-2223110.html

225 KB

id.xlsx

22.53 KB

最佳答案

关键词:R语言 程序 数据交集

回帖推荐

jameschin007 发表于11楼  查看完整内容

首先 装一个 sqldf 包 第二 两个表的列名 最好改为英文。 我假设ID 那个表 列名为 comID, zf2016的列名 为comID, value1,value 2 第三 把数据导入 R, 对应的两个数据框假设叫 COM_ID, zf2016 第四 用sqldf包,见证奇迹的时刻到来了。 newdf = sqldf(‘select b.comID, b.Value1,b.value2 from com_ID as a, zf2016 as b where a.comID= b.comID’)

小朝 发表于3楼  查看完整内容

沙发
小朝 发表于 2017-4-2 01:14:28
  1. library(rJava)
  2. library(xlsx)
  3. id <- read.xlsx2('D:/id.xls',1,header = TRUE,stringsAsFactors = FALSE)
  4. zf2016 <- read.xlsx2('D:/zf2016.xls',1,header = TRUE,stringsAsFactors = FALSE)
  5. res <- merge.data.frame(id,zf2016,by.x = '公司名称',by.y = '名称')
  6. res[,2:length(res)] <- sapply(res[,2:length(res)],as.numeric)
  7. res
复制代码
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

藤椅
横刀立马黄元帅 发表于 2017-4-2 01:20:20
因提问中文件“id”不能下载查看,所以我又发了一份,内容一样,只是文件名有点不一样。

ID.xls

392 KB

板凳
qiu435 发表于 2017-4-3 10:32:20
你这附件还要论坛币。。。。我就不下载了
我理解的意思就是将第二个数据的ID中匹配带的第一个数据中ID的行保留,没有匹配到删除
library(dplyr)
new_data<- semi_join(数据2,数据1,by='ID')
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

报纸
qiu435 发表于 2017-4-3 10:35:29
数据下载还要论坛币。。
library(dplyr)
new_data<- semi_join(数据2,数据1,by='Id')

地板
横刀立马黄元帅 发表于 2017-4-3 13:30:46
qiu435 发表于 2017-4-3 10:32
你这附件还要论坛币。。。。我就不下载了
我理解的意思就是将第二个数据的ID中匹配带的第一个数据中ID的行 ...
没有吧,我没设置论坛币

7
qiu435 发表于 2017-4-3 16:37:12
横刀立马黄元帅 发表于 2017-4-3 13:30
没有吧,我没设置论坛币
1个币,好像是

8
横刀立马黄元帅 发表于 2017-4-4 13:42:31
小朝 发表于 2017-4-2 12:56
你好,我是看那本《R语言实战》自学的。请问下怎么才能提高r语言能力,是不是得看中高级的书?谢谢!

9
wangfs111222 发表于 2017-4-4 16:15:57
intersect
或者
%in%
已有 1 人评分论坛币 收起 理由
admin_kefu + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

10
横刀立马黄元帅 发表于 2017-4-5 22:13:19
wangfs111222 发表于 2017-4-4 16:15
intersect
或者
%in%
这个方法试了,做出来的结果有问题

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-7 18:07