언어 - 데이터 검증 패키지 "validate"

소개



validate 패키지를 사용하면 데이터 검증 작업의 효율성을 향상시킬 수 있습니다. 예를 들어, 지정한 규칙에 따라 규칙을 통과했는지, 평가에 실패했는지 등을 확인할 수 있습니다.

데이터 구조 확인



▼ 샘플 스크립트

R
# 環境情報
# R version 3.2.5 (2016-04-14)  -- Very, Very Secure Dishes 
# パッケージのインストール
install.packages( "magrittr" )
install.packages( "validate" )
install.packages( "yaml" )

# ライブラリの読み込み
library( magrittr )
library( validate )
library( yaml )

# データの構造をチェックする
iris %>% check_that(
  Sepal.Width > 0.5 * Sepal.Length                          # V1
  , mean( Sepal.Width ) > 0                                 # V2
  , sd( Sepal.Width ) < 0                                   # V3
  , if ( Sepal.Width > 0.5*Sepal.Length ) Sepal.Length > 10 # V4
) %>% summary()

위의 샘플 스크립트에서 summary() 는 check_that() 실행 결과를 보여줍니다. 예를 들어, 규칙 이름 "V2"는 전체 Sepal.Width 열의 평균값이 0보다 큰지 확인합니다. passes = "1", fails = "0"이므로 규칙을 통과했음을 알 수 있습니다.

▼실행 결과 예

실행 결과 예
# check_thatの実行結果
  rule items passes fails nNA error warning                                              expression
1   V1   150     66    84   0 FALSE   FALSE                        Sepal.Width > 0.5 * Sepal.Length
2   V2     1      1     0   0 FALSE   FALSE                                   mean(Sepal.Width) > 0
3   V3     1      0     1   0 FALSE   FALSE                                     sd(Sepal.Width) < 0
4   V4   150     84    66   0 FALSE   FALSE !(Sepal.Width > 0.5 * Sepal.Length) | Sepal.Length > 10

데이터 검증 규칙 정의



validator()는 객체에 대한 데이터 유효성 검사 규칙을 정의할 수 있습니다. 정의한 오브젝트를 유효성 검증 오브젝트라고 하며 데이터 유효성 검증 규칙으로 재사용할 수 있습니다.
▼ 샘플 스크립트

R
v <-  validator(
  ratio = Sepal.Width > 0.5 * Sepal.Length
  , mean = mean( Sepal.Width ) > 0
  , sd = sd( Sepal.Width ) < 0
  , cnd = if ( Sepal.Width > 0.5*Sepal.Length ) Sepal.Length > 10
  )

▼실행 결과 예

실행 결과 예
v
# v(バリデータオブジェクト)の中身の確認
Object of class 'validator' with 4 elements:
 ratio: Sepal.Width > 0.5 * Sepal.Length
 mean : mean(Sepal.Width) > 0
 sd   : sd(Sepal.Width) < 0
 cnd  : !(Sepal.Width > 0.5 * Sepal.Length) | Sepal.Length > 10

다음 샘플 스크립트는 이 유효성 검사기 개체를 사용하여 iris 데이터 집합을 confront()로 확인합니다.
▼ 샘플 스크립트

R
cf <- confront(iris, v)

▼실행 결과 예

실행 결과 예
cf
# cf(検証結果)の中身の確認
Object of class 'validation'
Call:
    confront(x = iris, dat = v)

Confrontations: 4
With fails    : 3
Warnings      : 0
Errors        : 0
# cf(検証結果)を棒グラフにして可視化します。
barplot( cf, main="iris" )



참조



htps : // c 란. rp 로지ぇct. 오 rg / ぇ b / 빠 c 게 s / ゔ ぃ 굉장히 / ゔ ぃ g 네와 s / 인 t로. HTML
htps : // c 란. rp 로지ぇct. 오 rg / ぇ b / 빠 c 게 s / ゔ ぃ 데테 / ゔ ぃ g 네와 s / 루 ぇ ぇ ぇ s. HTML

좋은 웹페이지 즐겨찾기