首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用两个表的名称连接R中的两个表

使用两个表的名称连接R中的两个表
EN

Stack Overflow用户
提问于 2017-12-06 10:58:07
回答 2查看 280关注 0票数 0

嗨,伙计们,我知道在R中连接表的问题很少,我尝试了其中的大多数,但它们都没有工作,在我的例子中,我有两个表--第一个(A)有两个列(Idcompany_name),70000行,第二个(B)有company_nameregistration number .....etc,有10,000,000行。

我想加入他们的行列,为所有在A的公司获得registration number

提示,我试图在excel中使用inner joinsqldffuzzyjoinvlookup进行合并,但它没有返回A中的所有记录。

EN

回答 2

Stack Overflow用户

发布于 2017-12-06 11:13:30

如果没有任何示例代码或数据,很难给出答案,但让我试试。

我在这里可以看到三个可能的问题。

他:你想在你的结果集中拥有来自A的所有条目吗?即使没有来自B的匹配?然后,您应该使用左外部连接。例如,对于合并,您应该有merge(A,B,by="company_name",all.x = TRUE)

如我所见,你想加入company_name,A和B都是类字符吗?有时,由于某种原因,在读取文件时会将其转换为考虑因素。用A$company_name = as.character(A$company_name)将它们转换为字符,并对B进行同样的转换

他说:也许名字中有额外的字符(比如空格)或特殊字符。如果只是可以移除它们,然后再进行合并。使用这个:gsub('[^[:alnum:]]','',tolower(iconv(A$company_name, to='ASCII//TRANSLIT')))。这将确保你摆脱所有不想要的东西。

票数 2
EN

Stack Overflow用户

发布于 2017-12-06 11:09:09

R

代码语言:javascript
运行
复制
merge(table_a, table_b, by = "company_name", all.x = TRUE)

Excel

A: table1的身份证。 B: company_name,来自table1。 C: company_name,来自table2。 D: registration_number,来自table2。

在任何其他列中使用此公式可获得registration_number

代码语言:javascript
运行
复制
Vlookup(B2, $C$2:$D$10000001, 2, FALSE)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47672654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档