В моем коде R ниже, предположим, что я хочу сравнить все уникальные объекты 2 m
, используя аналогичную процедуру R.Например, для сравнения m1
и m2
моя процедура такова:
pchisq(2 * (logLik(m2) - logLik(m1)), df = abs(m1$df.residual - m2$df.residual), lower = F)
Вопрос:
Мне было интересно, какЯ мог бы создать функцию для всех уникальных парных сравнений для всех m
объектов, используя мою подпрограмму?
Вот что я пытался без успеха:
## Suppose we have 4 `m` objects: `m1...m4` (6 unique pairwise comparisons possible)
m1 <- lm(hp ~ vs, mtcars)
m2 <- lm(hp ~ vs*wt, mtcars)
m3 <- lm(hp ~., mtcars)
m4 <- lm(hp ~ vs * gear * wt, mtcars)
compare <- function(...){
m <- list(...)
L <- length(m) - 1
lapply(1:L, function(i) pchisq(2 * (logLik(m[[i+1]]) - logLik(m[[i]])), df = abs(m[[i]]$df.residual - m[[i+1]]$df.residual), lower.tail = FALSE) )
}
# Example of use:
compare(m1, m2, m3, m4)