我正在尝试基于时间序列分析创建一个线性模型,如下所示:
模型1= novice_crash ~时间+成绩+ time.after +月份
我有以下创建上述变量的代码:
grad<- c(replicate(66,0),replicate(30,1))
grad<- ts(grad, start=c(2002,1), frequency=12)
time<- seq(1,96, by=1)
time<- ts(time,start=c(2002,1), frequency = 12)
time.after<- c(replicate(66,0),replicate(30,1))
time.after<- ts(time.after, start=c(2002,1), frequency = 12)
#month<- seasonaldummy(novice_crashes)
month<-time
grad.lag1<- lag(grad)
time.after.lag1<- lag(time.after)'novice_crashes‘是来自以下代码的ts对象(其中'crashes’是csv文件
novice<- crash$novice_crash
total<- crash$total_crash
novice_crashes<-ts(novice, start = c(2002,12), end=c(2009,12), frequency = 12)当我尝试运行这个model1<- lm(novice_crashes ~ time + grad + time.after + month)时,我得到了以下错误:
Error in model.frame.default(formula = novice_crashes ~ time + grad + : variable lengths differ (found for 'time')我检查了time,grad,time.after和month的长度(它们都是96个单位的长度)。
数据集crash包含NA,但我使用
crash<- na.omit(crash)我更习惯使用python,所以我可能遗漏了一些东西……
发布于 2020-10-23 14:20:41
enter code here我同意MrFlick的评论。但是根据您所说的,您没有检查novice_crashes变量的长度。因为与其他时间序列(start = c(2002,1))相比,此时间序列开始较晚(start = c(2002,12))。也许问题出在这里。
如果这就是问题所在,请告诉我,否则请发布一个可重现的示例。
https://stackoverflow.com/questions/64494621
复制相似问题