Rで解析:データ検証!このパッケージ、試してみてください「validate」パッケージ

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

これまで、データ検証に関するパッケージを紹介してきました。バージョンが0.1.2と開発の初期ではありますが、非常に有用なパッケージかと思います。タイトル、決して煽っているわけではありません。ジワジワと「これは使える!」と思えるパッケージです。

パッケージの特徴は、ただデータを要約するのではなく「データの検証条件を指定でき、その条件を簡単に再利用できる」ことにあるかと思います。

繰り返し、頻度が多い、ちょっと条件が違う環境、での検証が多いウェブ解析などに便利なパッケージです。特に第3者へのレポート作成に有用かと思います。

パッケージのバージョンは1.1.1。R version 4.2.2でコマンドを確認しています。

スポンサーリンク

パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("validate")

実行コマンド

詳細はコマンド、パッケージヘルプを確認してください。

#パッケージの読み込み
library("validate")

###データ例の作成#####
n <- 300
set.seed(1234)
SampleData <- data.frame(Group = sample(c("Group1", "Group2"), n, replace = TRUE),
                            Data1 = round(runif(n, 45.5, 80.5), 2),
                            Data2 = round(runif(n, 145, 180), 1))
########

#&#12487;&#12540;&#12479;&#12398;&#30906;&#35469;
summary(SampleData)
Group               Data1           Data2      
Length:300         Min.   :45.52   Min.   :145.0  
Class :character   1st Qu.:55.78   1st Qu.:153.9  
Mode  :character   Median :65.56   Median :162.8  
                   Mean   :64.31   Mean   :162.5  
                   3rd Qu.:72.67   3rd Qu.:171.8  
                   Max.   :80.46   Max.   :179.6  

#&#31777;&#21336;&#12394;&#12487;&#12540;&#12479;&#12398;&#26908;&#35388;&#12467;&#12510;&#12531;&#12489;:check_that&#12467;&#12510;&#12531;&#12489;
#&#35079;&#38609;&#12394;&#26908;&#35388;&#12399;validator,confront&#12467;&#12510;&#12531;&#12489;&#12398;&#32068;&#12415;&#21512;&#12431;&#12379;&#12364;&#12458;&#12473;&#12473;&#12513;&#12391;&#12377;
#&#12487;&#12540;&#12479;&#25351;&#23450;:dat&#12458;&#12503;&#12471;&#12519;&#12531;
#&#26908;&#35388;&#26465;&#20214;&#12399;&#22522;&#26412;&#28436;&#31639;&#23376;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;
#&#26908;&#35388;&#26465;&#20214;&#12399;&#12459;&#12531;&#12510;","&#12391;&#21306;&#20999;&#12426;&#12414;&#12377;
CheckData <- check_that(dat = SampleData,
                        Data1 >= 50, Data2 >= 160,
                        Data2/Data1 >= 2.5)
#&#35201;&#32004;
summary(CheckData)
  name items passes fails nNA error warning            expression
1   V1   300    269    31   0 FALSE   FALSE  Data1 - 50 >= -1e-08
2   V2   300    172   128   0 FALSE   FALSE Data2 - 160 >= -1e-08
3   V3   300    152   148   0 FALSE   FALSE    Data2/Data1 >= 2.5

#&#35201;&#32004;&#12434;barplot&#12391;&#34920;&#31034;
plot(CheckData, main = "CheckData")

#&#26908;&#35388;&#26465;&#20214;&#12434;&#20316;&#25104;:validator&#12467;&#12510;&#12531;&#12489;
#&#26465;&#20214;&#20869;&#12391;&#22793;&#25968;&#12434;&#25351;&#23450;:[:=]&#12434;&#20351;&#29992;&#12375;&#12414;&#12377;
#&#35079;&#38609;&#12394;&#26465;&#20214;&#12434;&#20309;&#24230;&#12418;&#25351;&#23450;&#12377;&#12427;&#22580;&#21512;&#12395;&#20415;&#21033;&#12391;&#12377;
ValiRule <- validator(Meth = fold := 2.5 / 1,
                      Data1 = Data1 >= 50, Data2 = Data2 >= 160,
                      Data3 = Data2/Data1 >= fold,
                      Data4 = Data1/Data2 >= fold)
#&#30906;&#35469;
ValiRule

Object of class 'validator' with 5 elements:
Meth : `:=`(fold, 2.5/1)
Data1: Data1 >= 50
Data2: Data2 >= 160
Data3: Data2/Data1 >= fold
Data4: Data1/Data2 >= fold

#validator&#12398;&#20986;&#21147;&#12399;&#25805;&#20316;&#12364;&#12391;&#12365;&#12414;&#12377;
#&#12521;&#12505;&#12523;&#12398;&#22793;&#26356;
names(ValiRule)[1] <- "Rule"
ValiRule
Object of class 'validator' with 5 elements:
Rule : `:=`(fold, 2.5/1)
Data1: Data1 >= 50
Data2: Data2 >= 160
Data3: Data2/Data1 >= fold
Data4: Data1/Data2 >= fold
#&#26908;&#35388;&#26465;&#20214;&#25968;&#12398;&#21462;&#24471;
length(ValiRule)
[1] 5
#&#26908;&#35388;&#26465;&#20214;&#12398;&#36969;&#24540;&#29366;&#27841;&#12434;&#30906;&#35469;
variables(ValiRule, as = "matrix")

rule  Data1 Data2
Data1  TRUE FALSE
Data2 FALSE  TRUE
Data3  TRUE  TRUE
Data4  TRUE  TRUE

出力例

・barplotコマンド

CheckData

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

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