同一数据框中的多个线性模型
multiple linear models in the same data frame
我有一个接受数据框的函数,第一列必须是 Y,用户选择哪一列是 X。我需要 运行 同一个 data.frame 中的多个线性模型(找出哪个 lm 对我的用户有最好的结果)。
使用 mtcars 数据集,我只有一个线性模型:
results_LM <- function(data, var) {
fm1 <- as.formula(paste(colnames(data)[1], "~", var))
lm1(fm, data = data)
return(lm1)
}
fit <- results_LM(mtcars, "disp")
我将对我将测试的每个线性模型执行相同的操作(并存储在我稍后将使用的最终列表中):
results_LM <- function(data, var) {
fm1 <- as.formula(paste(colnames(data)[1], "~", var))
lm1(fm, data = data)
fm2 <- as.formula(paste(colnames(data)[1], "~", var, "+ I(", var, "^2)"))
lm2(fm, data = data)
all_lm <- list("FirstLM" = lm1, "SeconLM" = lm2)
return(all_lm)
}
这适用于 fm3、lm3...fm99、lm 99
这可行,但我想这是更好的方法
关于如何在同一个数据框中 运行 多个线性模型有什么想法吗?
已经解决了,在看这个
我将我所有的模型都放在一个列表中,并使用 lapply 到 运行 所有这些
results_LM <- function(data, var) {
formulas <- list(as.formula(paste(colnames(data)[1], "~", var),
as.formula(paste(colnames(data)[1], "~", var, "+ I(", var, "^2)")))
models <- lapply(formulas, lm, data = data)
return(models)
}
我有一个接受数据框的函数,第一列必须是 Y,用户选择哪一列是 X。我需要 运行 同一个 data.frame 中的多个线性模型(找出哪个 lm 对我的用户有最好的结果)。
使用 mtcars 数据集,我只有一个线性模型:
results_LM <- function(data, var) {
fm1 <- as.formula(paste(colnames(data)[1], "~", var))
lm1(fm, data = data)
return(lm1)
}
fit <- results_LM(mtcars, "disp")
我将对我将测试的每个线性模型执行相同的操作(并存储在我稍后将使用的最终列表中):
results_LM <- function(data, var) {
fm1 <- as.formula(paste(colnames(data)[1], "~", var))
lm1(fm, data = data)
fm2 <- as.formula(paste(colnames(data)[1], "~", var, "+ I(", var, "^2)"))
lm2(fm, data = data)
all_lm <- list("FirstLM" = lm1, "SeconLM" = lm2)
return(all_lm)
}
这适用于 fm3、lm3...fm99、lm 99
这可行,但我想这是更好的方法
关于如何在同一个数据框中 运行 多个线性模型有什么想法吗?
已经解决了,在看这个
results_LM <- function(data, var) {
formulas <- list(as.formula(paste(colnames(data)[1], "~", var),
as.formula(paste(colnames(data)[1], "~", var, "+ I(", var, "^2)")))
models <- lapply(formulas, lm, data = data)
return(models)
}