gpt4 book ai didi

r - 为不同的数据集估计单独的回归并按组生成预测

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

我想使用数据“train”对每个组(id)使用相同的回归模型,并使用估计系数在数据“test”中创建预测值。我可以用循环来做,但我怎么能用 lapply 来做?或者是其他东西?

train <- data.frame(x = 1:100, y = rnorm(100), id = rep(c('a', 'b'), 50))
test <- data.frame(x = 1:50, id = rep(c('a', 'b'), 25))
for (i in c('a', 'b')){
model <- lm(y ~ x, data = subset(train, id == i))
test$pred[test$id == i] <- predict(model, subset(test, id == i))
}

最佳答案

如果你还坚持使用lapply您可以使用以下解决方案:

test <- test[order(test$id),]

test$pred <- unlist(lapply(split(test, test$id), function(dt) {
model <- lm(y ~ x, data = subset(train, id == dt$id))
dt$pred <- predict(model, dt)
}))

关于r - 为不同的数据集估计单独的回归并按组生成预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68424106/

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