相关疑难解决方法(0)

在模型列表上使用lapply

我已经生成了一个模型列表,并希望创建一个汇总表.

例如,这里有两个模型:

x <- seq(1:10)
y <- sin(x)^2
model1 <- lm(y ~ x)
model2 <- lm(y ~ x + I(x^2) + I(x^3))
Run Code Online (Sandbox Code Playgroud)

和两个公式,第一个从公式的组成部分生成方程

get.model.equation <- function(x) {
  x <- as.character((x$call)$formula)
  x <- paste(x[2],x[1],x[3])
}
Run Code Online (Sandbox Code Playgroud)

第二个生成模型名称作为字符串

get.model.name <- function(x) {
  x <- deparse(substitute(x))
}
Run Code Online (Sandbox Code Playgroud)

有了这些,我创建了一个汇总表

model.list <- list(model1, model2)
AIC.data <- lapply(X = model.list, FUN = AIC)
AIC.data <- as.numeric(AIC.data)
model.models <- lapply(X = model.list, FUN = get.model)
model.summary <- cbind(model.models, AIC.data)
model.summary <- as.data.frame(model.summary)
names(model.summary) <- c("Model", "AIC")
model.summary$AIC <- …
Run Code Online (Sandbox Code Playgroud)

r lapply

3
推荐指数
1
解决办法
2769
查看次数

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

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

 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])
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助!

r list lm

3
推荐指数
1
解决办法
2322
查看次数

标签 统计

r ×2

lapply ×1

list ×1

lm ×1