R 我想将msmFit函数应用于每一天的时间序列。我如何建立';lm';类对象?

R 我想将msmFit函数应用于每一天的时间序列。我如何建立';lm';类对象?,r,list,time-series,rstudio,lm,R,List,Time Series,Rstudio,Lm,我有一个3个月的时间序列,包含每分钟的数据,我需要每天执行msmFit功能。该函数来自“MSwM包”。我的时间序列是一个xts对象 我使用“拆分”功能拆分数据,方法如下: US.data.daily未测试,类似如下: mod_mswm <- lapply(split(US.data2,"days"), function(x) msmFit(mod, lm(spread~volatility,data=as.da

我有一个3个月的时间序列,包含每分钟的数据,我需要每天执行msmFit功能。该函数来自“MSwM包”。我的时间序列是一个xts对象

我使用“拆分”功能拆分数据,方法如下:


US.data.daily未测试,类似如下:

mod_mswm <-
  lapply(split(US.data2,"days"),
         function(x)
           msmFit(mod,
                  lm(spread~volatility,data=as.data.frame(x),na.action=na.exclude),
                  k=2,p=0,sw=c(T,T,T),control=list(parallel=F)))

mod\u mswm您在
函数(x)
中使用的是
mod
而不是
x
。这是
列表
而不是
lm
,这是错误消息告诉您的

mod_mswm<-lapply(mod,function(x) msmFit(x, k=2,p=0,sw=c(T,T,T),control=list(parallel=F)))
然后你可以看看

lst[sapply(mod_mswm, class)=="try-error"]
mod[sapply(mod_mswm, class)=="try-error"]

也许这就清楚了,为什么会出现错误。否则,您应该
dput
输出并将其作为问题的一部分发布

这段代码开始工作,但几秒钟后它给了我这个错误,现在我不知道它是什么意思:if((max(abs(object[“Fit”][“logLikel”]-oldll))/(0.1+max(abs(object[“Fit”][“logLikel”])中的错误<:缺少TRUE/FALSE所需的值我尝试了
mod_mswm虽然错误仍然显示,但它仍应创建对象
mod_mswm
,您可以运行我在答案中输入的后续代码。请提供发生错误的
列表
元素的数据。否则,无法诊断错误问题。你问过关于
mod
或mod_mswm`文件的问题吗?第二个文件被发布到问题中,第一个文件似乎太大,无法发布到这里。同样的错误仍然存在,根据它,没有任何更改
lst[sapply(mod_mswm, class)=="try-error"]
mod[sapply(mod_mswm, class)=="try-error"]