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))
假设crime1,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在第一次回归中,但不在其余部分中。
正是我在找的东西。非常感谢! – Astronaut
尽管它的功能完美,但我很想知道你在这里做了什么,而且我在这个部分做了很多努力:indepVars2 = Reduce(函数(x,y)paste(x,y,sep =“+”), lapply (colnames(data)[grepl(“^ v”,colnames(data))],fn_appendLog))请您详细说明这部分究竟做了什么? – Astronaut
我已经添加了一些涉及'Reduce'和'lapply'的步骤的解释,让我知道这是否足够。 – OdeToMyFiddle