使用R语言Stargazer包导出VAR模型时遇报错求助
解决R语言VAR模型用Stargazer导出报错的问题
错误原因
你传入的sum[["varresult"]]是包含多个回归方程结果的列表,直接将这个列表传给stargazer会导致它无法正确解析每个模型的结构,从而触发$ operator is invalid for atomic vectors错误。
两种可行解决方法
方法1:直接传递VAR模型对象给Stargazer
多数新版本的Stargazer支持直接处理vars包生成的varest类模型对象,无需先取summary:
Model1 <- VAR(v1, p = 7, type = "const", season = NULL, exog = NULL) stargazer(Model1, type = 'text', out="VarModel.html")
方法2:提取单个方程模型,用do.call传递
如果方法1不生效,可提取每个内生变量对应的回归模型,通过do.call将它们作为独立参数传入Stargazer:
Model1 <- VAR(v1, p = 7, type = "const", season = NULL, exog = NULL) sum <- summary(Model1) # 提取所有单个方程的模型结果 model_list <- sum[["varresult"]] # 用do.call把列表元素拆分为多个参数传入stargazer do.call(stargazer, c(model_list, list(type = 'text', out="VarModel.html")))
内容的提问来源于stack exchange,提问作者reCaptcha
相关产品推荐
相关产品推荐

