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

R Markdown生成PDF时texreg回归输出过宽超出页面求助

解决texreg回归表格超出PDF页面宽度的方案

以下是几个直接有效的解决方法,按优先级排序:

  • 用LaTeX的resizebox自动缩放表格
    因为texreg直接输出LaTeX代码,knitr的out.width参数对它无效。可以手动包裹LaTeX的缩放命令,强制表格适配页面宽度:

    cat("\\begin{table}[ht]
    \\resizebox{\\textwidth}{!}{")
    texreg(list(M1aR,M1bR,M1cR,M1dR), 
           dcolumn = TRUE, booktabs = TRUE, 
           stars = c(0.01, 0.05, 0.1),
           include.adjrs = FALSE, 
           caption = "Lifetime CO2", 
           digits = 4, 
           reorder.coef = c(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,1),
           float = FALSE) # 关闭texreg自带的table环境,避免嵌套冲突
    cat("}
    \\end{table}")
    
  • 缩短过长的变量名
    如果表格过宽是因为变量名太长,直接用custom.coef.names替换成短名称,对应你reorder.coef后的变量顺序:

    texreg(list(M1aR,M1bR,M1cR,M1dR), 
           dcolumn = TRUE, booktabs = TRUE, 
           stars = c(0.01, 0.05, 0.1),
           include.adjrs = FALSE, 
           caption = "Lifetime CO2", 
           digits = 4, 
           reorder.coef = c(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,1),
           custom.coef.names = c("Var2", "Var3", ..., "Var1")) # 按顺序写18个短名称
    
  • 手动指定列宽
    用texreg的colwidth参数给每列设置固定宽度,第一列是变量名,后面四列对应四个模型,比如:

    texreg(list(M1aR,M1bR,M1cR,M1dR), 
           dcolumn = TRUE, booktabs = TRUE, 
           stars = c(0.01, 0.05, 0.1),
           include.adjrs = FALSE, 
           caption = "Lifetime CO2", 
           digits = 4, 
           reorder.coef = c(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,1),
           colwidth = c("2.2cm", "1cm", "1cm", "1cm", "1cm")) # 根据实际调整数值
    
  • 缩小字体或减少小数位数

    • 减少小数位数:把digits=4改成digits=3,压缩数值列宽度;
    • 缩小表格字体:在table环境里加\small或\footnotesize,比如:
      cat("\\begin{table}[ht]
      \\footnotesize")
      texreg(list(M1aR,M1bR,M1cR,M1dR), 
             dcolumn = TRUE, booktabs = TRUE, 
             stars = c(0.01, 0.05, 0.1),
             include.adjrs = FALSE, 
             caption = "Lifetime CO2", 
             digits = 4, 
             reorder.coef = c(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,1),
             float = FALSE)
      cat("\\end{table}")
      

内容的提问来源于stack exchange,提问作者Lilly

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 11:32:48