Rで解析:浮動小数点の比較に便利です!「fpCompare」パッケージ

Rの解析に役に立つ記事
スポンサーリンク

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
#&#36890;&#24120;&#12398;&#27604;&#36611;&#12391;&#12399;&#12497;&#12477;&#12467;&#12531;&#12395;&#12424;&#12426;&#12414;&#12377;&#12364;FALSE&#12392;&#12394;&#12426;&#12414;&#12377;
x1 == x2
[1] FALSE
#&#12381;&#12371;&#12391;&#12289;identical&#12392;all.equal&#12467;&#12510;&#12531;&#12489;&#12434;&#32068;&#12415;&#21512;&#12431;&#12379;&#12390;
#&#20351;&#29992;&#12375;&#12390;&#12356;&#12427;&#26041;&#12399;&#22810;&#12356;&#12392;&#24605;&#12356;&#12414;&#12377;,&#24517;&#12378;TRUE&#12364;&#36820;&#12373;&#12428;&#12414;&#12377;
identical(all.equal(x1, x2), TRUE) 
[1] TRUE

#&#12383;&#12384;&#12289;&#12467;&#12540;&#12489;&#12364;&#29033;&#38609;&#12395;&#12394;&#12426;&#12364;&#12385;&#12391;&#12377;
#fpCompare&#12497;&#12483;&#12465;&#12540;&#12472;&#12398;&#21033;&#29992;
#&#21516;&#31561;&#24615;&#12398;&#30906;&#35469;&#28436;&#31639;&#23376;:%==%
x1 %==% x2 
[1] TRUE

パッケージで使用できる演算子

パッケージで使用できる演算子の内容を基本演算子で示しています。参考にしてください。

fpCompare演算子基本演算子で内容を表現
%>=%>=
%>>%>
%<=%<=
%<<%<
%==%==
%!=%!=


少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました