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))
########

#データの確認
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  

#簡単なデータの検証コマンド:check_thatコマンド
#複雑な検証はvalidator,confrontコマンドの組み合わせがオススメです
#データ指定:datオプション
#検証条件は基本演算子で指定します
#検証条件はカンマ","で区切ります
CheckData <- check_that(dat = SampleData,
                        Data1 >= 50, Data2 >= 160,
                        Data2/Data1 >= 2.5)
#要約
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

#要約をbarplotで表示
plot(CheckData, main = "CheckData")

#検証条件を作成:validatorコマンド
#条件内で変数を指定:[:=]を使用します
#複雑な条件を何度も指定する場合に便利です
ValiRule <- validator(Meth = fold := 2.5 / 1,
                      Data1 = Data1 >= 50, Data2 = Data2 >= 160,
                      Data3 = Data2/Data1 >= fold,
                      Data4 = Data1/Data2 >= fold)
#確認
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の出力は操作ができます
#ラベルの変更
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
#検証条件数の取得
length(ValiRule)
[1] 5
#検証条件の適応状況を確認
variables(ValiRule, as = "matrix")

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

出力例

・barplotコマンド

CheckData

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

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