gpt4 book ai didi

r - 使用循环在 R 中使用不同的数据集运行回归?

转载 作者:行者123 更新时间:2023-12-04 07:32:36 24 4
gpt4 key购买 nike

我有以下数据集:

n <- 2
strata <- rep(1:4, each=n)
y <- rnorm(n = 8)
x <- 1:8

df <- cbind.data.frame(y, x, strata)
我想使用循环执行以下过程
data_1 <- subset(df, strata == 1)
data_2 <- subset(df, strata == 2)
data_3 <- subset(df, strata == 3)
data_4 <- subset(df, strata == 4)

model1 <- lm(y ~ x, data = data_1)
model2 <- lm(y ~ x, data = data_2)
model3 <- lm(y ~ x, data = data_3)
model4 <- lm(y ~ x, data = data_4)
任何帮助将不胜感激,谢谢!

最佳答案

我们可以split 'strata' 的数据变成了 list并通过循环遍历 list 来创建模型与 lapply

out <- lapply(split(df, df$strata), function(dat) lm(y ~ x, data = dat))
-输出
$`1`

Call:
lm(formula = y ~ x, data = dat)

Coefficients:
(Intercept) x
-2.907 1.924


$`2`

Call:
lm(formula = y ~ x, data = dat)

Coefficients:
(Intercept) x
2.5733 -0.7632


$`3`

Call:
lm(formula = y ~ x, data = dat)

Coefficients:
(Intercept) x
0.9309 -0.1986


$`4`

Call:
lm(formula = y ~ x, data = dat)

Coefficients:
(Intercept) x
8.479 -1.207

关于r - 使用循环在 R 中使用不同的数据集运行回归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67875433/

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