这个问题在这里已经有了答案:




9年前关闭。






假设我在 R 中有以下数据框。

df = data.frame('a'=c(1:3), 'b'=c(4:6))

此数据框包含三行: (1,4), (2,5) and (3,6) 。假设我不知道 df 包含哪些行并想检查一行 (1,4) 是否属于它,我该如何检查?

我的实际案例涉及 27 个参数值的比较。有没有一种解决方案,我可以在不键入每个参数名称的情况下执行此操作?谢谢!

我想这样做的原因是我有一个名为 masterdata 的 R 数据集,其中包含模拟数据。我想用在我使用不同参数组合进行额外模拟运行时获得的新数据更新此数据集。然而,我可能会忘记我已经为某个参数组合运行了模拟并可能再次运行它,在这种情况下,masterdata 将使用重复值进行扩展。我稍后可以删除这些重复值,但如果值重复,我不希望更新数据集的整个过程都经过。为此,我需要检查来自模拟运行的数据是否已经存在于 masterdata 中。如果我知道如何检查给定的行是否属于 masterdata ,我就可以做到这一点。

谢谢。

最佳答案

可能有更有效的方法,但我认为

tail(duplicated(rbind(masterdata,newvals)),1)

会这样做:换句话说,将新行附加到数据框的末尾并查看它是否重复。

关于r - 检查具有值的行是否属于 R 中的数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6325908/

10-12 22:16
查看更多