将相同的值与R中的数据集进行比较

时间:2016-07-20 15:21:41

标签: r

我必须提供几乎相同的客户信息文件。我想验证另一个文件。在R中有一个很好的方法可以确定两个文件中“状态”的不同之处吗?我试图合并这两个文件并将文件2中的状态更改为status2,但遇到了问题,然后开始想知道是否有更好的方法来解决这个问题。 我的数据如下:

file 1                     file 2
CustomerID  Status                 CustomerID  Status
1709         low                      1709      low     
1803         high                     1803      low
1951         medium                   1951      medium 

3 个答案:

答案 0 :(得分:1)

假设您将文件命名为file1file2并且两者的长度相等,则可以执行以下操作:

unequal <- which(file1$Status != file2$Status)

这将返回行索引号。如果您想拥有CustomerID,您可以:

unequalCustomerID <- file1$CustomerID[unequal]

当然在一个声明中:

file1$CustomerID[which(file1$Status != file2$Status)]

答案 1 :(得分:0)

如果您将文件读入数据框,请说df1和df2。您可以尝试类似df1 [&#39; status&#39;]!= df2 [&#39; status&#39;]

df1 = data.frame(id = c(1,2,3), status = c("low","low","high"))
df2 = data.frame(id = c(1,2,3), status = c("high","low","high"))

df1['status'] != df2['status']

 status
[1,]   TRUE
[2,]  FALSE
[3,]  FALSE

答案 2 :(得分:0)

感谢大家的帮助。状态变量的名称略有不同,似乎导致不能在合并上导入。当我的名字相同时,一切顺利。