如何在R中循环csv单元?

时间:2017-07-06 11:21:27

标签: r csv

我在R中有两个数据集,如下所示,数据集1和数据集2.考虑数据集1中的“公司”列。我想迭代数据集2中的每一行,以查找该公司是否存在,以及是否存在然后,将格式从数据集2复制到数据集1格式字段(当前为NA)。感谢。

数据集1

enter image description here

数据集2

enter image description here

实施Miff解决方案后

dataset1_updated

enter image description here

2 个答案:

答案 0 :(得分:1)

这似乎是合并的经典案例,例如:

Warning: (1366, "Incorrect string value: '\\x98\\xD0\\xBD\\xD1\\x82\\xD0...' for column 'description' at row 1")

由于缺少示例数据而未进行测试

答案 1 :(得分:1)

您想要将这两个数据集连接在一起。 data.table非常擅长这一点。

library(data.table)

setDT(dataset1)
setDT(dataset2)

setkey(dataset1, company)
setkey(dataset2, company)

dataset2[dataset1[, .(fname, lname, email, company)]]

左连接

  

左外连接

     

左外连接的结果(或简称左)   表A和B总是包含" left"的所有行。表   (A),即使连接条件没有找到任何匹配的行   "右"表(B)。这意味着如果ON子句匹配0(零)   B中的行(对于A中的给定行),连接仍将返回一行   结果(对于那一行) - 但是在B的每一列中都是NULL。左边   outer join返回内部联接中的所有值以及所有值   在左表中与右表不匹配,包括行   链接列中包含NULL(空)值。

Wikipedia.

这里我们将在dataset1上加入dataset2。我们保留来自dataset1的所有行,如果来自dataset1的公司与来自dataset2的公司匹配,则加入dataset2。如果匹配,我们保留dataset2的行并添加它,包括格式字段。如果它不匹配,我们会得到NA

相关问题