R gls的提取估计

R gls的提取估计,r,nlme,ape-phylo,R,Nlme,Ape Phylo,我试图从一个模型中提取一个参数,该模型由ML拟合,该模型具有从corPagel(在包ape中定义)获得的相关结构。感兴趣的参数位于摘要中名为apVar的元素中 library(ape); library(nlme) cor_lambdaML <- corPagel( 1, avestree, fixed=FALSE ) m <- gls(AUTUMN ~ GREGARIOUSNESS + SEASON + TARSUS + MATURATION + SPRING + MIGRATIO

我试图从一个模型中提取一个参数,该模型由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

提取第一个矩阵的值很简单,但是如何提取元素attr(,“Pars”)中的corStruct值?

不确定需要挖掘多远,但是
m$Pars$corStruct
是数据存储的地方。也就是说:
m
是一个包含许多组件的
列表,其中一个组件是
par
。它本身就是一个
列表
,包含一个组件
corStruct


?glsObject
将引导您进入所有列表元素的详细信息路径。

据我所知,PAR不是我的gls对象的列表组件。组件apVar包含一个协变量矩阵和两个我无法提取的元素。如果try'm$Pars$corStruct'返回空值;如果我尝试'm$apVar$Pars'返回错误$operator对原子向量无效;'m1023$apVar[[3,1]]”返回子索引超出限制。有线索吗?不知道。您可以使用
names
查找
m
的所有元素,并递归地查找这些列表元素的元素。显然,无法访问这些元素。m$apVar的结构表明存在一个名为num[1:2]0.85813 0.00813的元素
。-attr(*,“Pars”)=但如果我尝试
m$apVar..-attr(*,“Pars”)
,它不喜欢星号。然后,如果我尝试
m$apVar..-attr(3,“Pars”)
我得到数值(0)
m$apVar$Pars
没有得到它?没有!正如我所说,它会引发一条错误消息:$运算符对于原子向量无效
           corStruct     lSigma
corStruct 0.03848807 0.03090663
lSigma    0.03090663 0.04403168
attr(,"Pars")
  corStruct      lSigma 
0.858126838 0.008131981 
attr(,"natural")
[1] TRUE