如何在 LaTeX 表中仅显示四舍五入到整数的系数?

2024-04-22

使用 R 在 LaTeX 中生成表格stargazer效果很好。 但我不知道如何将我的数字格式化为整数(这个帖子 https://stackoverflow.com/questions/39937400/decimal-numbers-in-r-stargazer相关,但不同)。

由于数据规模的原因,我希望系数和标准误差不显示小数。因此我使用这个选项digits=0。但是,此选项也会从模型拟合统计数据中删除小数(例如R2 = 0而不是R2 = 0.42)。如何为表格的“顶部”和“底部”部分设置不同的舍入规则?


使用正则表达式,我们可以替换 LaTeX 输出中的特定数字s通过它们的四舍五入值。

自从texreg包目前似乎维护得比stargazer,我将两者都包含在答案中。

虽然很难推广一个解决方案,因为回归结果可能总是不同,但这里有一个想法。

(fit <- lm(mpg ~ hp + cyl, mtcars))
# Call:
#   lm(formula = mpg ~ hp + cyl, data = mtcars)
# 
# Coefficients:
# (Intercept)           hp          cyl  
#    36.90833     -0.01912     -2.26469  

s <- stargazer::stargazer(fit, header=FALSE, digit.separator="")

texreg用户会这样做:

tmp <- tempfile()
texreg::texreg(fit, file=tmp)
s <- readLines(tmp)

为此,首先,我们想要子集s不包括 GOF。另外,我们不想替换括号内的 LaTeX 格式命令。

s.sub1 <- 1:(grep("Observations", s) - 1)  ## stargazer
s.sub1 <- 1:(grep("R$^2$", s, fixed=TRUE) - 1)  ## texreg
re <- regexpr("(\\d+\\.\\d+)(?![^[]*\\])", s[s.sub1], perl=TRUE)
toInt <- regmatches(s[s.sub1], re)
v.repl <- round(as.double(toInt), digits=0)

s.sub2 <- which(attr(re, "match.length")[s.sub1] > 1)

当我们获得替代品后v.repl we use mapply第二步将小数替换为四舍五入到整数的值。

s[s.sub2] <- mapply(function(x, y) gsub("(\\d+\\.\\d+)(?![^[]*\\])", x, y, perl=TRUE),
    v.repl, s[s.sub2])

Results

stargazer

# \begin{table}[!htbp] \centering 
#   \caption{} 
#   \label{} 
# \begin{tabular}{@{\extracolsep{5pt}}lc} 
# \\[-1.8ex]\hline 
# \hline \\[-1.8ex] 
#  & \multicolumn{1}{c}{\textit{Dependent variable:}} \\ 
# \cline{2-2} 
# \\[-1.8ex] & mpg \\ 
# \hline \\[-1.8ex] 
#  hp & $-$0 \\ 
#   & (0) \\ 
#   & \\ 
#  cyl & $-$2$^{***}$ \\ 
#   & (1) \\ 
#   & \\ 
#  Constant & 37$^{***}$ \\ 
#   & (2) \\ 
#   & \\ 
# \hline \\[-1.8ex] 
# Observations & 32 \\ 
# R$^{2}$ & 0.741 \\ 
# Adjusted R$^{2}$ & 0.723 \\ 
# Residual Std. Error & 3.173 (df = 29) \\ 
# F Statistic & 41.422$^{***}$ (df = 2; 29) \\ 
# \hline 
# \hline \\[-1.8ex] 
# \textit{Note:}  & \multicolumn{1}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\ 
# \end{tabular} 
# \end{table} 

texreg

# \begin{table}
# \begin{center}
# \begin{tabular}{l c}
# \hline
#  & Model 1 \\
# \hline
# (Intercept) & $37^{***}$ \\
#             & $(2)$      \\
# hp          & $-0$       \\
#             & $(0)$      \\
# cyl         & $-2^{***}$ \\
#             & $(1)$      \\
# \hline
# R$^2$       & $0.74$        \\
# Adj. R$^2$  & $0.72$        \\
# Num. obs.   & $32$          \\
# \hline
# \multicolumn{2}{l}{\scriptsize{$^{***}p<0.001$; $^{**}p<0.01$; $^{*}p<0.05$}}
# \end{tabular}
# \caption{Statistical models}
# \label{table:coefficients}
# \end{center}
# \end{table}

Note:为了使系数对齐,您可能需要研究siunitxLaTeX 包。这里有一个starter https://tex.stackexchange.com/a/468596/136969在 tex.stackexchange 上。读here https://stackoverflow.com/q/27514610/6574038如何在 Rmarkdown 中包含 LaTeX 包。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 LaTeX 表中仅显示四舍五入到整数的系数? 的相关文章

随机推荐

  • 如何从用户列表中查找PC

    我需要一些帮助 我不太确定这是否可能 我有清单samAccountName in csv文件 我需要从中获取他们的 PC 名称和 IP 我不太确定如何构建这样的脚本 一种方法是循环访问环境中的所有计算机并测试每台计算机 这当然会是SLOW
  • 泛型显式转换

    我实现了从字符串到名为 Foo 的对象的显式转换 所以 gt Foo f Foo foo 数据 作品 我需要实现一个将字符串转换为通用 T 的函数 在本例中 T 是 Foo 数据类型 public T Get
  • 宏的问题

    HI 有人可以帮助我理解为什么 SQUARE x 的值为 49 吗 我正在使用 Visual C 6 0 define SQUARE X X X int main int argc char argv int y 5 printf d n
  • 如何在 SwiftUI 中为按下时的导航链接设置动画?

    我试图通过在按下 NavigationLink 时提供一些反馈来改进用户体验 我的意思是一个简单的动画 它会增长然后缩小链接以显示它被按下或以任何其他方式提供反馈 这是我正在尝试改进的代码 NavigationLink destinatio
  • 在 C++ 中与 VARIANT 类型相互转换的简单方法

    有没有便于使用 高级类或库让您可以与VARIANT在 Visual C 中 更具体地说 我想在 POD 类型之间进行转换 例如double long 字符串 例如CString 和容器 例如std vector and VARIANTs 例
  • 如何使argparse在可执行程序中工作

    我有一个使用 argparse 模块的命令行脚本 import argparse def run print Running def export print Exporting def argument parser parser arg
  • 连接两个整数并将结果作为 SQL 中的字符串

    在表中 2 个字段 ID 为 int Number 为小 int 我想连接这两个字段并显示为字符串 eg ID 101 and Number 9 output 101 9 ID 和 Number 之间要加点吗 如何用SQL进行查询 You
  • 按日期订购 asp.net MVC 5

    我有一个创建新闻条目并显示 10 条新闻的应用程序 它应该显示 10 条 最新 新闻 现在它显示 10 个最旧的新闻 我该如何更改它 我是否更改控制器以便数据按日期排序 或者我可以在视图中执行吗 控制器 public ActionResul
  • postgres 检测零的重复模式

    有没有办法在 Postgres 的时间序列中检测长度至少为 3 的零子序列 year value 1 0 2 0 3 0 4 33 5 72 6 0 7 0 8 0 9 0 10 25 11 0 12 56 13 37 因此 在此示例中 我
  • 从链接服务器插入存储过程的结果

    是否可以将远程存储过程的结果插入到临时表中 例如 CREATE TABLE test id INT INSERT INTO test EXEC linkedserver remoteDB dbo tst DROP TABLE test 其中
  • Textview 在 Imageview 上滚动,就像 Pulse 应用程序滚动一样

    In my application I want to scroll the text on Image view like Pulse application Need not scroll inside the text view Pl
  • 分离Gdb而不恢复劣质

    Gdb 与任何其他程序一样 并不完美 我时不时会遇到导致当前 Gdb 实例无法使用的错误 此时 如果我有一个调试会话 其中有很多有价值的状态 我希望能够在其上启动一个新的 Gdb 会话 也就是说 分离 退出 Gdb 并启动一个新的 Gdb
  • 如何使用 XPath 选择多个可能的文本值?

    我必须从类似于下面的评级标签中选择评级代码 但仅限于机构为 SP 或 SNP 时 现在我有 ratings rating agency text SNP text SP code 但这似乎不起作用 我究竟做错了什么
  • 使用和不使用查询字符串路由旧请求

    开始之前 我知道this https stackoverflow com q 7395841 and this https stackoverflow com q 817325 我想找到一个更简洁的解决方案 如果可能的话 对于一个稍微更具体
  • 使用 OpenCL 或其他 GPGPU 框架在现代 x86 硬件上的 CPU 和 GPU 之间共享数据

    AMD Kaveri 的 hUMA 异构统一内存访问 和 Intel 第四代 CPU 证明了 CPU 和 GPU 硬件的不断统一 应该允许 CPU 和 GPU 之间进行无副本的数据共享 我想知道 最新的 OpenCL 或其他 GPGPU 框
  • Python 从数据库存储和检索密码的最安全方法

    希望将用户名和密码存储在数据库中 并且想知道最安全的方法是什么 我知道我必须在某处使用盐 但不确定如何安全地生成它或如何应用它来加密密码 一些示例 Python 代码将不胜感激 谢谢 将密码 盐存储为哈希值和盐 看看Django是如何做的
  • 如何在Android中的图像上绘画并将图像保存到手机图库

    我的目的是将绘制的图像与我的背景视图一起保存到画廊 public boolean onTouch View view MotionEvent event draw the new Points to our internal canvas
  • 将 tzinfo 插入日期时间

    我有以下内容tzinfo具体子类定义 from datetime import datetime timedelta tzinfo class ManilaTime tzinfo def utcoffset self dt return t
  • Python从单个numpy数组中的多个文件获取数据的快速方法

    我需要读取存储在许多格式相同但长度不同的文件中的数据 即相同的列 但行数不同 此外 我需要将每一列数据存储在一个数组中 最好是一个 numpy 数组 但列表也可以接受 现在 我循环读取每个文件numpy loadtxt 然后连接结果数组 假
  • 如何在 LaTeX 表中仅显示四舍五入到整数的系数?

    使用 R 在 LaTeX 中生成表格stargazer效果很好 但我不知道如何将我的数字格式化为整数 这个帖子 https stackoverflow com questions 39937400 decimal numbers in r