0

I want to perform in R the next linear model: \begin{equation} lPC_t = \beta_0 + \beta_1PIBtvh_{t+1} + \beta_2txDes_t + \beta_3Spread_{t+4} + u_t \end{equation}


The name of my data frame is Dados_R. I need to impose a restriction in the data once I want to estimate over just the observations between 19 and 45. The problem is that when I create the variables with the lead I cannot change the scope of them, or at least I cannot do it, unless I change the original data frame by myself what is not convenient once I want to perform more models with different leads.

So my question is how can I change the range of the variables that I created (leadPIBtvh0 e leadSpread0), in such a way that allows me to perform the linear model with just the observations between 19 and 45?


The code that I wrote:

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)

This code give me the error (that I understood):

Error in model.frame.default(formula = lPC ~ leadPIBtvh0 + txDes + leadSpread0,  : : 
  variable lengths differ (found for 'leadPIBtvh0')
  • Hi Fernando. It seems like you missed out the question. Please help to provide one? – Jason Allshorn Jan 24 '18 at 19:03
  • Hi Jason. So my question is how can I change the range of the variables that I created (leadPIBtvh0 e leadSpread0), in such a way that allows me to perform the linear model with just the observations between 19 and 45? – Fernando Jan 24 '18 at 19:46

0 Answers0