【发布时间】:2018-02-07 21:25:24
【问题描述】:
我试图分别比较来自不同 csv 文件的两列。
但我不知道该怎么做,因为这些数据框有不同的行数。另外,我想比较一下匹配另一个变量的那些。
例如,
>dat1
ID X Y CODE
1111 1 4 A
1111 2 3 A
1111 2 2 A
1112 2 2 A
1112 1 3 A
1112 2 5 A
1121 1 3 B
1121 2 1 B
1121 3 2 B
和
>dat2
ID as df CODE
1111 g a A
1112 d d A
1121 g b B
假设我有这两个数据集,我想比较列 CODE 从 dat1 到 dat2 是否它们与 ID 具有相同的值。
我的期望如下
>dat2
ID as df CODE Error
1111 g a A 0
1112 d d A 0
1121 g b B 0
如果发生任何不匹配,dat2$Error 编码为 1。这是我的期望,如果我知道哪个值不匹配会更好。
【问题讨论】:
-
请添加您的预期输出。
-
我添加了一个补充说明。谢谢。
-
你可以试试
match,即dat2$Error <- with(dat2, as.integer(!paste(ID, CODE) %in% paste(dat1$ID, dat1$CODE))) -
@akrun 谢谢!但它表明“dat2$Error”全是“1”。是否如我预期的那样正常工作?
-
根据数据,我得到全0
标签: r