我试图从ML拟合的模型中提取一个参数,该模型具有从corPagel(在软件包ape中定义)获得的相关结构。感兴趣的参数位于摘要中名为apVar的元素中。
library(ape); library(nlme)
cor_lambdaML <- corPagel( 1, avestree, fixed=FALSE )
m <- gls(AUTUMN ~ GREGARIOUSNESS + SEASON + TARSUS + MATURATION + SPRING + MIGRATION + DICHROMATISM + HABITAT + POSTJUVENILE + CONSPICUOUSNESS, correlation = cor_lambdaML, data = avesdata, method = 'ML' )
names(m)
m$apVar
此代码生成以下输出(请下载模型为m here的dput):
corStruct lSigma
corStruct 0.03848807 0.03090663
lSigma 0.03090663 0.04403168
attr(,"Pars")
corStruct lSigma
0.858126838 0.008131981
attr(,"natural")
[1] TRUE
提取第一个矩阵的值是很简单的,但是如何提取元素**attr(,“Pars”)**中corStruct的值呢?
2条答案
按热度按时间fv2wmkja1#
不知道你需要挖掘多远,但
m$Pars$corStruct
是存储数据的地方。也就是说:m
是一个list
,它有许多分量,其中一个是Pars
。它本身是一个list
,有一个分量corStruct
。?glsObject
将引导您进入所有列表元素的详细信息路径。blmhpbnm2#
attr(m, "Pars")