【发布时间】:2018-11-09 12:53:49
【问题描述】:
我对 R 很陌生,我正在尝试解决这个看起来很简单的问题,但我不知道该怎么做。我正在尝试比较两个数据框,并打印出其中一个而不是另一个的行,并打印另一个列表/数据框,其中只有一个单元格已更新。
df1
firstname lastname email
Grace Holly hollyoaks@yahoo.com
Trish Edison edisontrish@gmail.com
df2
firstname lastname email
Grace Holly rickyoaks@yahoo.com
Frederick Sam sammic@gmail.com
我想做的第一件事是获取 df2 中而不是 df1 中的行,我就是这样做的:
require(sqldf)
df2NotIndf1 <- sqldf('SELECT * FROM df2 EXCEPT SELECT * FROM df1')
这给了我输出:
`firstname lastname email`
`Frederick Sam sammic@gmail.com`
现在,我想要的是一种将第一行作为它自己的输出的方法,方法是注意名字和姓氏相同,但电子邮件不同。
所以,我想要一种打印方式:
firstname lastname email
Grace Holly rickyoaks@yahoo.com
我查看了 compare () 函数以及 merge 和其他函数,但它们似乎是在比较不同的行,而不是不同的单元格。
【问题讨论】: