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


R checkMFClasses 檢查傳遞給模型框架的變量類型的函數


R語言 checkMFClasses 位於 stats 包(package)。

說明

.checkMFClasses 檢查預測方法中使用的變量在類型上是否與用於擬合的變量一致。

.MFclass 為此目的對變量進行分類。

.getXlevels()factorcharacter 變量中提取因子水平。

用法

.checkMFClasses(cl, m, ordNotOK = FALSE)
.MFclass(x)
.getXlevels(Terms, m)

參數

cl

要匹配的類說明的字符向量。

m

模型框架(model.frame() 結果)。

x

任何R對象。

ordNotOK

邏輯:有序因子是否不同?

Terms

terms 對象 (terms.object )。

細節

對於涉及 model.matrix() 的應用程序(例如線性模型),我們不需要區分有序因子和因子,因為盡管這些因子會影響編碼,但擬合中使用的編碼已在預測期間記錄並強加。但是,其他應用程序可能會以不同的方式處理有序因子:例如,rpart 就是如此。

.checkMFClasses() 檢查並發出調用 stop() 錯誤的信號或以不可見方式返回 NULL

.MFclass() 返回一個字符串,為 "logical""ordered""factor""numeric""nmatrix.*" (附加了多列的數字矩陣)或 "other" 之一。

.getXlevels 返回名為 list 的字符向量,可能為空,或 NULL

例子

sapply(warpbreaks, .MFclass) # "numeric" plus 2 x "factor"
sapply(iris,       .MFclass) # 4 x "numeric" plus "factor"

mf <- model.frame(Sepal.Width ~ Species,      iris)
mc <- model.frame(Sepal.Width ~ Sepal.Length, iris)

.checkMFClasses("numeric", mc) # nothing else
.checkMFClasses(c("numeric", "factor"), mf)

## simple .getXlevels() cases :
(xl <- .getXlevels(terms(mf), mf)) # a list with one entry " $ Species" with 3 levels:
stopifnot(exprs = {
  identical(xl$Species, levels(iris$Species))
  identical(.getXlevels(terms(mc), mc), xl[0]) # a empty named list, as no factors
  is.null(.getXlevels(terms(x~x), list(x=1)))
})

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Functions to Check the Type of Variables passed to Model Frames。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。