이것은 인쇄 방법 중 하나에서 계산됩니다 (나는 print.summary.pdMat
으로 추정 됨). 가장 쉬운 방법은 출력을 캡처하는 것입니다.
library(nlme)
fit <- lme(distance ~ Sex, data = Orthodont, random = ~ age|Subject)
summary(fit)
# Linear mixed-effects model fit by REML
# Data: Orthodont
# AIC BIC logLik
# 483.1635 499.1442 -235.5818
#
# Random effects:
# Formula: ~age | Subject
# Structure: General positive-definite, Log-Cholesky parametrization
# StdDev Corr
# (Intercept) 7.3913363 (Intr)
# age 0.6942889 -0.97
# Residual 1.3100396
# <snip/>
ttt <- capture.output(print(summary(fit$modelStruct), sigma = fit$sigma))
as.numeric(unlist(strsplit(ttt[[6]],"\\s+"))[[2]])
#[1] 0.6942889
그리고 여기에 그것을 계산하는 방법입니다 :
fit$sigma * attr(corMatrix(fit$modelStruct[[1]])[[1]],"stdDev")
#(Intercept) age
# 7.3913363 0.6942889
예, 그렇지만 어느 요소에 있어야하며 어떤 숫자 여야합니까? 나는 lme 객체의 구조에서 길을 잃는다. – drw