これまで、データ検証に関するパッケージを紹介してきました。バージョンが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コマンド

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