【发布时间】:2018-03-04 13:44:10
【问题描述】:
如何将一个 CSV 文件的列映射到 R 中另一个 CSV 文件的列。如果两者的数据类型相同。 例如,数据框 A 的第一列包含一些带有国家名称的文本。而第二个数据框 B 的列包含所有国家/地区的标准列表。现在我必须将第一个数据框的所有行与标准国家/地区列映射。
例如数据框A的列(位置)由10000行这样的数据组成
Sydney, Australia
Aarhus C, Central Region, Denmark
Auckland, New Zealand
Mumbai Area, India
Singapore
df1 <- data.frame(col1 = 1:5, col2=c("Sydney, Australia", "Aarhus C, Central Region, Denmark", "Auckland, New Zealand", "Mumbai Area, India", "Singapore"))
现在我有另一列(国家)数据框 B 为
India
USA
New Zealand
UK
Singapore
Denmark
China
df2 <- data.frame(col1=1:7, col2=c("India", "USA", "New Zealand", "UK", "Singapore", "Denmark", "China"))
如果位置列与国家列匹配,我想用国家名称替换该位置,否则它将保持原样。示例输出为
Sydney, Australia
Denmark
New Zealand
India
Singapore
【问题讨论】:
-
欢迎来到 Stack Overflow。你的问题是一个好的开始,但如果你给出一些你尝试过的例子,它会得到改进。还可以尝试将您的示例数据转换为有人可以复制并粘贴到他们的 R 中的格式。
-
感谢您的建议。实际上我正在处理庞大的数据集,并且我已经粘贴了原始数据集中的一些数据。目前没有任何想法来获得所需的输出。我有很多类似的列要映射。我只是想要一个提示怎么做?
-
只需获取您已有的样本位并将它们分配给向量。根据您所说,您需要搜索匹配子字符串或连接子字符串。
-
抱歉,我没有得到你。如果我将我的数据样本发布到 GitHub 并附上问题陈述,你能帮我吗?
-
您知道@stuski 是如何帮助您的吗?现在解释一下您在搜索 SO 和 google 寻找答案时发现和尝试的内容。