如何根据字符变量的一部分合并两个数据帧?

问题描述

我需要合并两个数据集。第一个数据集是我正在使用的原始数据集,第二个数据集具有我需要添加的数据。我将根据公司名称合并它们,因为两个数据集中都存在该字符变量,但是它们的显示方式有所不同(例如,在一个数据框中显示为“ Apple Inc.”,在另一个数据框中显示为“ Apple”),所以我不能只是像以前那样使用merge()

我认为最好的方法是根据具有共同的前x个字母的这些变量尝试合并它们,但是我不知道该怎么做,也不知道这是否是最好的方法去做这个。

有人可以帮我吗?我仅使用R已有几个月时间,并且没有编程背景,所以这些东西对我来说并不自然。

解决方法

一个简单的解决方法是添加仅包含子字符串的列并将其用于合并:

x$merge.col <- substr(x$company.name,1,5)
y$merge.col <- substr(y$company.name,5)
z <- merge(x,y,by="merge.col")