R 我想将msmFit函数应用于每一天的时间序列。我如何建立';lm';类对象?
我有一个3个月的时间序列,包含每分钟的数据,我需要每天执行msmFit功能。该函数来自“MSwM包”。我的时间序列是一个xts对象 我使用“拆分”功能拆分数据,方法如下: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
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"]