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

出力例

・棒グラフで表示


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

スポンサードリンク

関連コンテンツ


スポンサードリンク