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


R anova.lme 比较拟合对象的可能性


R语言 anova.lme 位于 nlme 包(package)。

说明

当仅存在一个拟合模型对象时,具有分子自由度、分母自由度、F-values 和模型中项的 Wald 测试 P 值的 DataFrame (当 TermsLNULL )、模型项的组合(当 Terms 不是 NULL 时)或模型系数的线性组合(当 L 不是 NULL 时)。否则,当比较多个拟合对象时,将返回一个 DataFrame ,其中包含每个对象的自由度、(受限)对数似然、赤池信息准则(AIC)和贝叶斯信息准则(BIC)。如果 test=TRUE ,只要两个连续对象具有不同数量的自由度,则返回的数据帧中将包含具有相关 p 值的似然比统计量。

用法

## S3 method for class 'lme'
anova(object, ..., test, type, adjustSigma, Terms, L, verbose)
## S3 method for class 'anova.lme'
print(x, verbose, ...)

参数

object

继承自类 "lme" 的对象,表示拟合的线性混合效果模型。

...

其他可选的拟合模型对象继承自类 "gls""gnls""lm""lme""lmList""nlme""nlsList""nls"

test

一个可选逻辑值,控制是否应使用似然比检验来比较 object 表示的拟合模型和 ... 中的对象。默认为 TRUE

type

一个可选字符串,指定模型中的项在 F-tests 中使用的平方和类型。如果 "sequential" ,则使用通过按模型中出现的顺序包含项而获得的连续平方和;否则,如果 "marginal" ,则使用通过一次从模型中删除一项而获得的边际平方和。仅当将单个拟合对象传递给函数时才使用此参数。使用参数的部分匹配,因此只需提供第一个字符。默认为 "sequential"

adjustSigma

可选的逻辑值。如果 TRUE 和用于获取 object 的估计方法是最大似然,则将残余标准误差乘以 ,将其转换为 REML-like 估计值。仅当将单个拟合对象传递给函数时才使用此参数。默认为 TRUE

Terms

可选的整数或字符向量,指定模型中的哪些项应使用 Wald F-test 联合测试为零。如果作为字符向量给出,其元素必须对应于术语名称;否则,如果作为整数向量给出,则其元素必须与模型中包含项的顺序相对应。仅当将单个拟合对象传递给函数时才使用此参数。默认为 NULL

L

一个可选的数值向量或数组,指定模型中应测试为零的系数的线性组合。如果以数组形式给出,则其行定义要测试的线性组合。如果将名称分配给向量元素(数组列),则它们必须与系数名称相对应,并将用于将线性组合映射到系数;否则,如果没有可用的名称,则假定向量元素(数组列)的顺序与模型中出现的系数相同。仅当将单个拟合对象传递给函数时才使用此参数。默认为 NULL

x

从类 "anova.lme" 继承的对象

verbose

可选的逻辑值。如果 TRUE ,每个拟合模型对象的调用序列将与输出的其余部分一起打印,如果 verbose = FALSE 则被省略。默认为 FALSE

继承自类 "anova.lme" 的 DataFrame 。

注意

对于使用受限最大似然和具有不同固定效应的对象拟合来说,似然比较没有意义。

例子

fm1 <- lme(distance ~ age, Orthodont, random = ~ age | Subject)
anova(fm1)
fm2 <- update(fm1, random = pdDiag(~age))
anova(fm1, fm2)

## Pinheiro and Bates, pp. 251-254 ------------------------------------------
fm1Orth.gls <- gls(distance ~ Sex * I(age - 11), Orthodont,
		   correlation = corSymm(form = ~ 1 | Subject),
		   weights = varIdent(form = ~ 1 | age))
fm2Orth.gls <- update(fm1Orth.gls,
		      corr = corCompSymm(form = ~ 1 | Subject))
## anova.gls examples:
anova(fm1Orth.gls, fm2Orth.gls)
fm3Orth.gls <- update(fm2Orth.gls, weights = NULL)
anova(fm2Orth.gls, fm3Orth.gls)
fm4Orth.gls <- update(fm3Orth.gls, weights = varIdent(form = ~ 1 | Sex))
anova(fm3Orth.gls, fm4Orth.gls)
# not in book but needed for the following command
fm3Orth.lme <- lme(distance ~ Sex*I(age-11), data = Orthodont,
                   random = ~ I(age-11) | Subject,
                   weights = varIdent(form = ~ 1 | Sex))
# Compare an "lme" object with a "gls" object (test would be non-sensical!)
anova(fm3Orth.lme, fm4Orth.gls, test = FALSE)

## Pinheiro and Bates, pp. 222-225 ------------------------------------------
op <- options(contrasts = c("contr.treatment", "contr.poly"))
fm1BW.lme <- lme(weight ~ Time * Diet, BodyWeight, random = ~ Time)
fm2BW.lme <- update(fm1BW.lme, weights = varPower())
# Test a specific contrast
anova(fm2BW.lme, L = c("Time:Diet2" = 1, "Time:Diet3" = -1))

## Pinheiro and Bates, pp. 352-365 ------------------------------------------
fm1Theo.lis <- nlsList(
     conc ~ SSfol(Dose, Time, lKe, lKa, lCl), data=Theoph)
fm1Theo.lis
fm1Theo.nlme <- nlme(fm1Theo.lis)
fm2Theo.nlme <- update(fm1Theo.nlme, random= pdDiag(lKe+lKa+lCl~1) )
fm3Theo.nlme <- update(fm2Theo.nlme, random= pdDiag(    lKa+lCl~1) )

# Comparing the 3 nlme models
anova(fm1Theo.nlme, fm3Theo.nlme, fm2Theo.nlme)

options(op) # (set back to previous state)

作者

José Pinheiro and Douglas Bates bates@stat.wisc.edu

参考

Pinheiro, J.C., and Bates, D.M. (2000) "Mixed-Effects Models in S and S-PLUS", Springer.

也可以看看

gls , gnls , nlme , lme , AIC , BIC , print.anova.lme , logLik.lme ,

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Compare Likelihoods of Fitted Objects。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。