You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言stargazer包生成统计表格报错及LaTeX导出方案咨询

问题原因与解决方案

问题1:报错missing value where TRUE/FALSE needed的原因与解决

原因

  • stargazer包原生不支持tibble(tbl_df类)数据格式,仅适配基础的data.frame类型
  • 若数据集中包含Date类等非数值型列,stargazer会尝试对其做时间解析,触发逻辑判断缺失的报错

解决方法

将目标变量子集转换为基础data.frame格式,同时排除非数值类列:

library(stargazer)
# 选取目标数值列,转换为普通data.frame
table_input <- as.data.frame(df[, c("BNBClose", "BTCClose", "ADAClose", "LINKClose", "DODGEClose", "EOSClose", "ETHClose", "MIOTAClose", "LTCClose", "XMRClose", "XEMClose", "XLMClose", "USDTClose", "TRXClose", "XRPClose", "FEDWALCL", "FEDM0Reserves", "FEDM0Total", "CETFClose", "CRIXClose", "SPYClose", "GLDClose", "OILClose")])
# 运行生成表格
stargazer(table_input, type="text", title="Summary Statistics", out="table1.txt")

问题2:仅输出表头无统计值、缺少偏度峰度的原因与解决

原因

  • 核心原因同样是输入数据为tibble格式,stargazer无法正确读取列中的数值计算统计量
  • stargazer默认输出的统计量不包含偏度、峰度,需要手动指定统计量参数

解决方法

转换数据格式的同时,通过summary.stat参数指定需要输出的统计指标:

stargazer(table_input,
          type = "text",
          title = "Summary Statistics",
          out = "table1.txt",
          # 自定义输出的统计量:观测数、均值、标准差、最小值、最大值、偏度、峰度
          summary.stat = c("n", "mean", "sd", "min", "max", "skew", "kurt"))
替代R包推荐

以下包均支持生成指定统计量的描述性统计表,且可直接导出LaTeX格式:

  • modelsummary:当前社科、金融领域学术发表常用包,原生兼容tidyverse生态与tibble格式,自定义程度高,支持导出LaTeX、Word、HTML等多种格式,示例代码:
library(modelsummary)
# 直接生成含偏度峰度的汇总表,导出为LaTeX文件
datasummary_skim(df[, c("BNBClose", "BTCClose", "ADAClose")],
                 output = "summary_table.tex",
                 title = "Summary Statistics")
  • psych + xtable:先用psych::describe()计算所有需要的统计量,再用xtable()直接导出为LaTeX代码,灵活度最高,可完全自定义表格结构
  • texreg:支持描述性统计与回归结果的LaTeX导出,配置逻辑与stargazer接近,迁移成本低

内容的提问来源于stack exchange,提问作者Horacio Ramella Núñez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 04:24:03