如何在R seasonal包中生成仅含series与指定x11块的Spec文件
解决方法
要让seas()生成仅包含series{}和指定save=(d11)的x11{}块的spec文件,你需要禁用所有默认启用的自动模块,同时显式定义x11的保存选项:
library(seasonal) x <- ts(rnorm(200), start=c(2000,1), frequency=12) seas( x, # 禁用所有默认自动加载的模块 transform = "", regression = "", outlier = "", automdl = "", estimate = "", spectrum = "", # 精确设置x11的保存参数 x11 = list(save = "d11"), dir = "C:\\logdir" # Windows路径需用双反斜杠,或换成正斜杠 )
原理说明
seasonal包的seas()函数默认会自动启用transform、regression等模块,这些模块对应spec文件里的同名配置块。将它们设为空字符串"",就能阻止这些模块被写入最终的spec文件。- 用
x11 = list(save = "d11")替代原代码里的x11="",可以精准控制x11块的内容,只保留save=(d11)这一项配置。
生成的spec文件效果
运行上述代码后,生成的spec文件会完全匹配你的期望:
series{ title = "iofile" file = "C:\\Users\\USERNAME\\AppData\\Local\\Temp\\...\\iofile.dta" format = "datevalue" period = 12 } x11{ save = (d11) }
内容的提问来源于stack exchange,提问作者Abiel
相关产品推荐
相关产品推荐

