Rで浮動小数点の一致を確認するとき”==”演算子では同じであるにもかかわらずFALSEが返される場合があります。問題を解決するために、identicalとall.equalコマンドを組み合わせて使用している方は多いかと思います。
しかし、多用するとコードが煩雑となり視認性が悪くなります。
そんな問題を解決する「fpCompare」パッケージを紹介します。なお、「fpCompare」パッケージで使用できる演算子を表にまとめています。
パッケージのバージョンは0.2.4。R version 4.2.2でコマンドを確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール install.packages("fpCompare")
実行コマンド
詳細はコマンド、パッケージヘルプを確認してください。
#パッケージの読み込み library("fpCompare") #浮動小数点 x1 <- 0.05 - 0.03 x2 <- 0.03 - 0.01 #通常の比較ではパソコンによりますがFALSEとなります x1 == x2 [1] FALSE #そこで、identicalとall.equalコマンドを組み合わせて #使用している方は多いと思います,必ずTRUEが返されます identical(all.equal(x1, x2), TRUE) [1] TRUE #ただ、コードが煩雑になりがちです #fpCompareパッケージの利用 #同等性の確認演算子:%==% x1 %==% x2 [1] TRUE
パッケージで使用できる演算子
パッケージで使用できる演算子の内容を基本演算子で示しています。参考にしてください。
fpCompare演算子 | 基本演算子で内容を表現 |
---|---|
%>=% | >= |
%>>% | > |
%<=% | <= |
%<<% | < |
%==% | == |
%!=% | != |
少しでも、あなたの解析が楽になりますように!!