gpt4 book ai didi

r - 从列表创建和调用线性模型

转载 作者:行者123 更新时间:2023-12-04 10:32:56 25 4
gpt4 key购买 nike

所以我试图比较不同的线性模型,以确定一个模型是否比另一个更好。但是我有几个模型,所以我想创建一个模型列表,然后调用它们。那可能吗?

 Models <- list(lm(y~a),lm(y~b),lm(y~c)
Models2 <- list(lm(y~a+b),lm(y~a+c),lm(y~b+c))

anova(Models2[1],Models[1])

感谢您的帮助!

最佳答案

如果您有两个模型列表,并且想要比较每对模型,那么您需要 Map :

models1 <- list(lm(y ~ a), lm(y ~ b), lm(y ~ c)
models2 <- list(lm(y ~ a + b), lm(y ~ a + c), lm(y ~ b + c))

Map(anova, models1, models2)

这基本上等同于以下 for 循环:
out <- vector("list", length(models1))
for (i in seq_along(out) {
out[[i]] <- anova(models1[[i]], models2[[i]])
}

Map 是函数的一个例子,你可以在 https://github.com/hadley/devtools/wiki/Functionals 找到更多关于它们的信息。

关于r - 从列表创建和调用线性模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18108045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com