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


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

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

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

パッケージのバージョンは0.1.2。R version 3.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 Group1:151 Min. :45.52 Min. :145.0 Group2:149 1st Qu.:55.78 1st Qu.:153.9 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) rule items passes fails nNA error warning expression 1 V1 300 269 31 0 FALSE FALSE Data1 > 50 2 V2 300 171 129 0 FALSE FALSE Data2 > 160 3 V3 300 152 148 0 FALSE FALSE Data2/Data1 > 2.5 #要約をbarplotで表示:barplotコマンド barplot(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 #検証条件をデータに適応:confrontコマンド #結果はvalidationクラスになります #データが異なっても適応が簡単です VariCon <- confront(SampleData, ValiRule) summary(VariCon) rule items passes fails nNA error warning expression 1 Data1 300 269 31 0 FALSE FALSE Data1 > 50 2 Data2 300 171 129 0 FALSE FALSE Data2 > 160 3 Data3 300 152 148 0 FALSE FALSE Data2/Data1 > (2.5/1) 4 Data4 300 0 300 0 FALSE FALSE Data1/Data2 > (2.5/1) #confrontの結果はsummary,aggregate, #sort,values,errors,waringsコマンドが適応できます #errors,waringsは省略 #aggregateコマンドで出力 aggregate(VariCon) npass nfail nNA rel.pass rel.fail rel.NA Data1 269 31 0 0.8966667 0.1033333 0 Data2 171 129 0 0.5700000 0.4300000 0 Data3 152 148 0 0.5066667 0.4933333 0 Data4 0 300 0 0.0000000 1.0000000 0 #sortコマンドで出力 sort(VariCon) npass nfail nNA rel.pass rel.fail rel.NA Data4 0 300 0 0.0000000 1.0000000 0 Data3 152 148 0 0.5066667 0.4933333 0 Data2 171 129 0 0.5700000 0.4300000 0 Data1 269 31 0 0.8966667 0.1033333 0 #valuesコマンドで出力 head(values(VariCon)) Data1 Data2 Data3 Data4 [1,] TRUE FALSE TRUE FALSE [2,] TRUE FALSE FALSE FALSE [3,] TRUE FALSE FALSE FALSE [4,] TRUE TRUE TRUE FALSE [5,] TRUE FALSE FALSE FALSE [6,] TRUE FALSE TRUE FALSE[/code]


出力例

・barplotコマンド
CheckData


少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

関連コンテンツ


スポンサードリンク