我想在R中执行下一个线性模型: \开始{}方程 lPC_t = \ beta_0 + \ beta_1PIBtvh_ {t + 1} + \ beta_2txDes_t + \ beta_3Spread_ {t + 4} + u_t \ end {equation}
我的数据框的名称是Dados_R。一旦我想仅仅估计19到45之间的观察结果,我需要对数据施加限制。问题是当我用引线创建变量时我不能改变它们的范围,或者至少我不能这样做,除非我自己更改原始数据框,一旦我想用不同的线索执行更多模型,这是不方便的。
所以我的问题是如何改变我创建的变量的范围(leadPIBtvh0 e leadSpread0),这样我就可以只用19到45之间的观察来执行线性模型?
我写的代码:
attach(Dados_R)
leadPIBtvh0=lag(PIBtvh,1)
leadSpread0=lag(Spread,4)
data=Dados_R[19:45,]
detach(Dados_R)
attach(data)
lPC=log(PC/(1-PC))
lm_lPC=lm(lPC~leadPIBtvh0+txDes+leadSpread0)
这段代码给了我错误(我明白了):
Error in model.frame.default(formula = lPC ~ leadPIBtvh0 + txDes + leadSpread0, : :
variable lengths differ (found for 'leadPIBtvh0')