比较R中两个数据帧中的每一行

企鹅

我有 2 个数据框,其中包含帐号和金额以及其他一些不相关的列。如果匹配与否,我想将输出与 Y 或 N 进行比较。

我需要将数据帧 A 中第 1 行中的帐号与数据帧 B 中第 1 行中的帐号进行比较,如果它们匹配,则在列中输入 Y,如果不匹配则在 N 中输入。我设法让代码检查整个数据帧中是否有匹配项,但我需要单独检查每一行。

例如 df1
|account.num|x1|x2|x3|
|100|a|b|c|
|101|a|b|c|
|102|a|b|c|
|103|a|b|c|

df2
|account.num|x1|x2|x3|
|100|a|b|c|
|102|a|b|c|
|101|a|b|c|
|103|a|b|c|

输出
|account.num|x1|x2|x3|匹配|
|100|a|b|c|Y|
|101|a|b|c|N|
|102|a|b|c|N|
|103|a|b|c|Y|

因此,第 1 行匹配,因为它们具有相同的帐号,但第 2 行不匹配,因为它们不同。但是,数据框中的其他数据不仅仅与该列有关。我可以在不合并数据框的情况下执行此操作吗?(我确实有桌子,但它们不起作用。我不知道为什么。很抱歉,如果这很难理解)。

基基

您可以使用==来比较 account.num 是否相等,并使用此布尔向量进行子集c("N", "Y")

df1$match <- c("N", "Y")[1 + (df1[[1]] == df2[[1]])]

df1
#  account.num x1 x2 x3 match
#1         100  a  b  c     Y
#2         101  a  b  c     N
#3         102  a  b  c     N
#4         103  a  b  c     Y

数据:

df1 <- data.frame(account.num=100:103, x1="a", x2="b", x3="c")
df2 <- data.frame(account.num=c(100,102,101,103), x1="a", x2="b", x3="c")

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

R-比较两列中不同长度的两个数据帧的相同值

比较ddply函数中的两个数据帧

将自定义函数应用于R中数据帧中每一行的两列

为另一个数据帧中的每一行复制并连接熊猫数据帧

将函数应用于python中的两个熊猫数据帧(两个数据帧中的每一行的scipy.stats.spearmanr)

比较Spark中的两个数据帧

在2个数据帧的每一行中查找常用词(交集)

从一个数据帧中选择行,其中两个元素在另一个数据帧的一行中匹配

将一个数据帧中的每一行与tidyverse中另一行的每一行进行比较

根据R中某个值之上的每一行从一个数据帧创建多个数据帧

如何比较R中两个数据框的行

比较两个数据帧中的元素

如何比较PySpark中两个数据帧的计数?

比较两个数据帧中的两列以及另一列的条件

如何删除R中两个数据框中的唯一行?

比较两个数据帧并在pyspark中返回一行的结果

在R中打印合并数据帧的每一行

两个文件中每一行的比较

比较两个数据帧第一列的值,以找到R中相同值的索引?

R为每一行计算并添加两个数据帧单元的增量

R:比较数据帧中的每一行,如果答案与另一组相同

比较r中的两个数据帧

如何将两个数据帧中的行合并为 R 中的一个数据帧?

比较文件中不同列中的两个数组,并使用 unix 为每一行打印匹配元素

尝试比较两个数据帧,并将逻辑结果写入 R 中的新数据帧

使用 Spark 比较 2 个数据帧中的每一行并将结果存储在新列中

如何将数据帧的每一行与R中的数据帧进行比较?

将数据帧中的每一行与 r 中另一个数据帧中的每一行进行匹配

根据第一行和最后一行比较和过滤两个数据帧