Rに大きなデータセットがあり、2つが同じかどうかを知りたいとします。私は同じ結果を得るために異なるアルゴリズムを試しているときにこれを頻繁に使用します。だから、これは私がそれらを比較するために何をすべきかです2つのデータフレームが等しいかどうかを確認する方法
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
:たとえば、私たちは次のデータセットを持っていると言う
> table(df1 == df2, useNA = 'ifany')
TRUE
10
:データセットは何のNAを持っていないときに素晴らしい作品
table(x == y, useNA = 'ifany')
しかし、NAsを持っている人はそれほどではありません。
> table(df3 == df4, useNA = 'ifany')
TRUE <NA>
11 1
この例では、両方のデータフレームがと等しいことがわかっているため、NA
を問題なく処理することは簡単です。問題はNA == <anything>
がNA
であることです。したがって、データセットの1つがNA
である場合は、同じ位置に他のデータが何であるかは関係ありません。結果は常にNA
になります。
table()
を使用してデータセットを比較することは、私にとって理想的ではないようです。 どのように2つのデータフレームが同一であるかをよりよく確認できますか?
P.S:これはR - comparing several datasets、Comparing 2 datasets in RまたはCompare datasets in R
「同一(df1、df2)」 – Metrics
@Frank、私は解決策は共通していると思いますが、問題はほぼ同じです(行列とデータフレームの違いについてのセマンティクスは得られません)。しかし、将来の検索を助けるために、私は両方のQを維持すべきだと考えます。あなたのリンクはこの同じページをターゲットにしています。ここにその他の質問のURLがあります:http://stackoverflow.com/questions/11767851/regarding-matrix-comparison-in-r –
ああ、おっと。右のリンクを取得していただきありがとうございます。私は二重引用符を持つことに間違いはないと思っていますが、私がメタとブラウズを参照したことに基づいて、それらを一緒にリンクする方が良いかもしれません。ちょっとした考え。 – Frank