【发布时间】:2017-08-29 19:20:34
【问题描述】:
MVE: 让这成为数据集:
data <- data.frame(year = rep(seq(1966,2015,1), 8),
county = c(rep('prva', 50), rep('druga', 50), rep('treća', 50), rep('četvrta', 50),
rep('peta', 50), rep('šesta', 50), rep('sedma', 50), rep('osma', 50)),
crime1 = runif(400), crime2 = runif(400), crime3 = runif(400),
uvar1 = runif(400), uvar2 = runif(400), uvar3 = runif(400),
var1 = runif(400), var2 = runif(400), var3 = runif(400), var4 = runif(400), var5 = runif(400))
假设犯罪1、2 和3 是特定的因变量。 uvar1,2 和 3 是特定的自变量。 var1,2 等是其他协变量。我想要做的是自动化回归。
即,我想得到这段代码的结果:
plm(log(crime1) = log(univar1) + log(var1) + log(var2) + log(var3) + log(var4), model = 'within', effect = 'twoways', data = data)
plm(log(crime2) = log(univar2) + log(var1) + log(var2) + log(var3) + log(var4), model = 'within', effect = 'twoways', data = data)
等等;但无需为每个估计模型编写 20 行代码。
通过查看类似的问题,这是我所想的:
crime <- c('crime1', 'crime2', 'crime3')
plm.results <- lapply(data[, crime], function(y) plm(y ~ var1 + var2 + var3 + var4,
model = 'within', effect ='twoways', data = data))
这对我的因变量当然有帮助,但我不知道如何在每个估计中包含特定的自变量。再次澄清一下,我希望 univar1 在第一个回归中,而不是在其余的回归中等等。
【问题讨论】:
标签: r automation regression plm