R语言 如何从'mgcv::logLik.gam'输出中获取df

h7wcgrx3  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(151)

在R中,包mgcv包含logLik.gam,它给出了广义加性模型的对数似然值以及df,但是,我不能只取df值。
例如,

dt= gamSim(1,50) 
x= dt$x0
y=dt$x1
model= gam(y~s(x)) 
logLik.gam(model) 
[1] 'log Lik.' -1.560092 (df=3.612741)

从这里我只能取-1.560092。但是要使用df的值(即3.612741),有没有办法从输出中取这个值?这里的输出是数字,实际上是一个句子。那么有没有办法把这行输出删掉,只取最后一个值呢?

tjrkku2a

tjrkku2a1#

是的。如果你先将结果赋给一个输出变量名,你就可以使用它。该类的对象有一个print方法:

res <- logLik.gam(model)  
print( res)
'log Lik.' -4.613525 (df=4.322011)

attributes( res)
 #-----
$df
[1] 4.322011

$class
[1] "logLik"

 attributes( res)$df
#[1] 4.322011

相关问题