【发布时间】:2020-07-16 06:28:27
【问题描述】:
我正在尝试创建 301 回归并将它们的残差保存到带有循环的数据框中。回归的左边是按行业划分的州 gdp,右边需要有相应的美国 gdp。它们在数据框中的顺序相同,因此希望这会使事情变得更容易。
问题在于,它将每列与其他列进行回归,导致超过 10,000 次回归而不是 301 次。希望比我更精通循环的人可以帮助解决这个问题。详细的解释会非常有帮助,我以前从来没有在 R 中循环过。谢谢!
这是我的代码:
# Create start and end vectors
WY_start = 2
WY_end = 302
US_start = 303
US_end = 604
res <- data.frame(combined_gdp$Year)
# Loop
for (i in WY_start:WY_end) {
WY = colnames(combined_gdp)[i]
for (j in US_start:US_end) {
US = colnames(combined_gdp)[j]
model <- lm(get(WY) ~ get(US) + COAL_vol + OILW_vol + NGS_vol,
na.action = na.exclude, data=combined_gdp)
cbind(res, resid(model))
}
}
【问题讨论】:
-
嗨,欢迎来到堆栈溢出。你能看看创建一个可重现的例子吗?即使是两个州的数据样本也可以让某人尝试让您的代码正常工作。
-
欢迎堆栈溢出。通过发布可重现的示例来帮助我们帮助您。它不必与您使用的数据完全相同,只是一些虚拟 data.frame 可能会这样做。我建议这个guideline。提出问题可能会更困难并且需要更长的时间,但是通过这样做,您将了解很多有关当前问题的信息。关于你的问题,我认为你的循环太多了。
标签: r loops regression economics