Rで解析:データを条件で確認「validate」パッケージ


データの特徴を指定した条件で確認するパッケージの紹介です。便利です。

パッケージバージョンは0.1.7。windows 10のR version 3.3.3で動作を確認しています。


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

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

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

コマンドの紹介

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

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

###データ例の作成#####
n <- 500 TestData <- data.frame("Group" = sample(paste0("Group", 1:5), n, replace = TRUE), "LETTERS" = sample(LETTERS[1:24], n, replace = TRUE), "letters" = sample(letters[1:24], n, replace = TRUE), "numeric" = sample(seq(n), n, replace = FALSE), "Data" = rnorm(n)) #内容確認 summary(TestData) Group LETTERS letters numeric Data Group1:103 P : 33 c : 27 Min. : 1.0 Min. :-2.83327 Group2:100 R : 33 d : 27 1st Qu.:125.8 1st Qu.:-0.70251 Group3:100 B : 27 f : 27 Median :250.5 Median :-0.07343 Group4: 95 H : 24 p : 24 Mean :250.5 Mean :-0.02675 Group5:102 I : 24 u : 24 3rd Qu.:375.2 3rd Qu.: 0.62940 S : 24 k : 23 Max. :500.0 Max. : 3.31558 (Other):335 (Other):348 ######## #条件に合うデータを確認:check_thatコマンド #データを指定:datオプション #条件はdatオプション以降にカンマで区切り記述する CheckData <- check_that(dat = TestData, LETTERS == "R", numeric > 300, numeric/Data > 0.5) #確認 summary(CheckData) rule items passes fails nNA error warning expression 1 V1 500 33 467 0 FALSE FALSE LETTERS == "R" 2 V2 500 200 300 0 FALSE FALSE numeric > 300 3 V3 500 236 264 0 FALSE FALSE numeric/Data > 0.5 #棒グラフで表示 barplot(CheckData, main = "確認") ###おまけ##### #元データから条件に合うデータを抽出 #例えばnumeric/Data > 0.5に合うデータ ExData <- TestData[CheckData$._value$V3,] #間違いないか確認,全てTRUEであれば良い #allコマンドを利用 all(ExData[, 4] / ExData[, 5] > 0.5) [1] TRUE ####### #条件をオブジェクトに格納する:validatorコマンド ValiData <- validator(LETTERS == "R", numeric > 300, numeric/Data > 0.5) #確認 ValiData Object of class 'validator' with 3 elements: V1: LETTERS == "R" V2: numeric > 300 V3: numeric/Data > 0.5 #条件オブジェクトを適応しデータを確認:confrontコマンド #条件オブジェクトを指定:xオプション ConData <- confront(dat = TestData, x = ValiData) #確認 summary(ConData) rule items passes fails nNA error warning expression 1 V1 500 33 467 0 FALSE FALSE LETTERS == "R" 2 V2 500 200 300 0 FALSE FALSE numeric > 300 3 V3 500 236 264 0 FALSE FALSE numeric/Data > 0.5 [/code]


出力例

・棒グラフで表示


少しでも、あなたの解析が楽になりますように!!ダンまち外伝、面白いです。

スポンサードリンク

スポンサードリンク