當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R hardhat validate_outcomes_are_numeric 確保結果都是數字


驗證 - 斷言以下內容:

  • outcomes 必須有數字列。

檢查 - 返回以下內容:

  • ok 邏輯。檢查通過嗎?

  • bad_classes 命名列表。名稱是有問題的列的名稱,值是匹配列的類。

用法

validate_outcomes_are_numeric(outcomes)

check_outcomes_are_numeric(outcomes)

參數

outcomes

要檢查的對象。

validate_outcomes_are_numeric() 以不可見方式返回outcomes

check_outcomes_are_numeric() 返回兩個組件的命名列表: okbad_classes

細節

使用此驗證函數的預期方法是向其提供 mold() 調用結果的 $outcomes 元素。

驗證

Hardhat 提供兩個級別的驗證函數。

  • check_*() :檢查條件,並返回列表。該列表始終包含至少一個元素 ok ,這是一個指定檢查是否通過的邏輯。每個檢查還在返回的列表中檢查特定元素,可用於構造有意義的錯誤消息。

  • validate_*():檢查條件,如果不通過則出錯。這些函數調用相應的檢查函數,然後提供默認的錯誤消息。如果您作為開發人員想要不同的錯誤消息,請自行調用 check_*() 函數,並提供您自己的驗證函數。

例子

# All good
check_outcomes_are_numeric(mtcars)
#> $ok
#> [1] TRUE
#> 
#> $bad_classes
#> list()
#> 

# Species is not numeric
check_outcomes_are_numeric(iris)
#> $ok
#> [1] FALSE
#> 
#> $bad_classes
#> $bad_classes$Species
#> [1] "factor"
#> 
#> 

# This gives an intelligent error message
try(validate_outcomes_are_numeric(iris))
#> Error in validate_outcomes_are_numeric(iris) : 
#>   All outcomes must be numeric, but the following are not:
#> 'Species': 'factor'
源代碼:R/validation.R

相關用法


注:本文由純淨天空篩選整理自Davis Vaughan等大神的英文原創作品 Ensure outcomes are all numeric。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。