当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。