r - R观星台中的小数

标签 r stargazer

我正在使用R包观星者在Latex中生成表。效果很好,但我无法弄清楚如何正确设置数字格式。我希望所有数字都精确显示小数点后一位(例如1.0、0.1、10.5等)。因此,我使用的选项digits =1。但是,对于像1这样的确切数字,我得到的是1而不是1.0。即使精确数字(1.0而不是1),如何获得小数位呢?

最佳答案

您可以在使用stargazer之后使用正则表达式将小数点后的位相加。这是一个例子。您可能需要稍稍更改正则表达式字符串,具体取决于您使用stargazer生成的摘要的类型,但是由于问题中没有包含任何最小的示例,因此,我能做的最好的就是给出此方法的一般示例:

star = stargazer(attitude, digits=1, digits.extra=1)
star = gsub("& ([0-9]+) ", "& \\1\\.0 ", star)

cat(star, sep = "\n")

# % Table created by stargazer v.5.2 by Marek Hlavac, Harvard University. E-mail: hlavac at fas.harvard.edu
# % Date and time: Sat, Oct 08, 2016 - 8:11:26 PM
# \begin{table}[!htbp] \centering 
# \caption{} 
# \label{} 
# \begin{tabular}{@{\extracolsep{5pt}}lccccc} 
# \\[-1.8ex]\hline 
# \hline \\[-1.8ex] 
# Statistic & \multicolumn{1}{c}{N} & \multicolumn{1}{c}{Mean} & \multicolumn{1}{c}{St. Dev.} & \multicolumn{1}{c}{Min} & \multicolumn{1}{c}{Max} \\ 
# \hline \\[-1.8ex] 
# rating & 30.0 & 64.6 & 12.2 & 40.0 & 85.0 \\ 
# complaints & 30.0 & 66.6 & 13.3 & 37.0 & 90.0 \\ 
# privileges & 30.0 & 53.1 & 12.2 & 30.0 & 83.0 \\ 
# learning & 30.0 & 56.4 & 11.7 & 34.0 & 75.0 \\ 
# raises & 30.0 & 64.6 & 10.4 & 43.0 & 88.0 \\ 
# critical & 30.0 & 74.8 & 9.9 & 49.0 & 92.0 \\ 
# advance & 30.0 & 42.9 & 10.3 & 25.0 & 72.0 \\ 
# \hline \\[-1.8ex] 
# \end{tabular} 
# \end{table}

在此示例中,模式“&([0-9] +)”查找“&”,后跟一串数字,后跟一个空格。然后,将其替换为“&”,找到的同一组数字(使用//1),句点(//。,因为句点必须转义,因为它们是正则表达式中的特殊字符),十进制零和空格。

观星者产生的某些不同的摘要格式可能包含搜索字符串中可能需要包含的其他内容,例如数字后跟一个空格以外的字符(例如逗号)。或者,在某些情况下,可能需要替换没有&开头的数字。

在任何情况下,通用方法都是相同的。

关于r - R观星台中的小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39937400/

相关文章:

r - 如何拆分没有定义分隔符的数据框列

python - 从 rpy2 导入 robjects 时出现 Segmentation fault Core dumped 错误

返回 R 中相关列中向量和字符串的最高值

r - stargazer omit.labels 中的潜在错误

r - data.table() 仍然将字符串转换为因子?

R dplyr : filter common values by group

r - 在 Stargazer 回归表中添加两行列名

r - Stargazer:省略和 omit.yes.no 不起作用

r - 在 R 中,从 "pretty"包输出以 LaTeX、PDF 或 HTML 格式创建 "IRR"结果表

r - 将统计信息附加到 coeftest 输出以包含在观星者表中