Como verificar se dois quadros de dados são iguais [duplicados]
Esta questão já tem uma resposta aqui:
em relação à comparação de matrizes em R 1 respostaDigamos que eu tenha grandes conjuntos de dados em R e só quero saber se dois deles são iguais. Eu uso isso frequentemente quando estou experimentando algoritmos diferentes para alcançar o mesmo resultado. Por exemplo, digamos que temos os seguintes conjuntos de dados:
df1 <- data.frame(num = 1:5, let = letters[1:5])
df2 <- df1
df3 <- data.frame(num = c(1:5, NA), let = letters[1:6])
df4 <- df3
Então é isso que eu faço para compará-los:
table(x == y, useNA = 'ifany')
O que funciona muito bem quando os conjuntos de dados não têm NAs:
> table(df1 == df2, useNA = 'ifany')
TRUE
10
Mas não tanto quando eles têm NAs:
> table(df3 == df4, useNA = 'ifany')
TRUE <NA>
11 1
No exemplo, é fácil descartar oNA
como não é um problema, já que sabemos que ambos os dataframesestá igual. O problema é queNA == <anything>
rendimentosNA
, então sempre que um dos conjuntos de dados tem umNA
, não importa o que o outro tenha na mesma posição, o resultado sempre seráNA
.
Então usandotable()
comparar conjuntos de dados não parece ideal para mim.Como posso verificar melhor se dois quadros de dados são idênticos?
P.S .: Note que esta não é uma duplicata deR - comparando vários conjuntos de dados, Comparando 2 conjuntos de dados em R ouComparar conjuntos de dados em R