データフレームなどの2つのオブジェクトの値がRで等しいかどうかを確認するにはどうすればよいですか?
等しい値とは、1つのデータフレームの各列の各行の値が、2番目のデータフレームの対応する行と列の値に等しいことを意味します。
2 つのデータ フレームが「値が等しい」かどうかをテストすることが何を意味するのかは明確ではありませんが、値が同じかどうかをテストするには、値が等しい 2 つの同一でないデータ フレームの例を次に示します。
a <- data.frame(x = 1:10)
b <- data.frame(y = 1:10)
すべての値が等しいかどうかをテストするには:
all(a == b) # TRUE
オブジェクトが同一かどうかをテストするには (同一ではなく、列名が異なります):
identical(a,b) # FALSE: class, colnames, rownames must all match.
さらに、同一は依然として有用であり、実用的な目標をサポートしています。
identical(a[, "x"], b[, "y"]) # TRUE
R パッケージを使用してcompare
、オブジェクトの名前と値が同じかどうかを 1 ステップでテストできます。
a <- data.frame(x = 1:10)
b <- data.frame(y = 1:10)
library(compare)
compare(a, b)
#FALSE [TRUE]#objects are not identical (different names), but values are the same.
値の等価性のみを気にする場合は、設定できますignoreNames=TRUE
compare(a, b, ignoreNames=T)
#TRUE
# dropped names
このパッケージには、compareEqual
やなどの興味深い機能が追加されていcompareIdentical
ます。