关于这个问题:
> library(pander)
> panderOptions('digits', 2)
> panderOptions('round', 2)
> panderOptions('keep.trailing.zeros', TRUE)
> pander(anova.m1)
----------------------------------------------------------
Df Sum Sq Mean Sq F value Pr(>F)
--------------- ---- -------- --------- --------- --------
**feed** 5 231129 46226 15 0
**Residuals** 65 195556 3009
----------------------------------------------------------
Table: Analysis of Variance Table
> pander(coef(summary(model1)))
----------------------------------------------------------------
Estimate Std. Error t value Pr(>|t|)
------------------- ---------- ------------ --------- ----------
**(Intercept)** 323.58 15.83 20.44 0.00
**feedhorsebean** -163.38 23.49 -6.96 0.00
**feedlinseed** -104.83 22.39 -4.68 0.00
**feedmeatmeal** -46.67 22.90 -2.04 0.05
**feedsoybean** -77.15 21.58 -3.58 0.00
**feedsunflower** 5.33 22.39 0.24 0.81
----------------------------------------------------------------
关于内联R代码块:也可以在那里调用pander
,或者应用一些钩子来自动执行。
更新:这里不需要设置数字位数,因为您要设置的是小数位数,抱歉:
> library(pander)
> panderOptions('round', 2)
> panderOptions('keep.trailing.zeros', TRUE)
> model1 = lm(weight~feed, chickwts)
> anova.m1 = anova(model1)
> pander(anova.m1)
----------------------------------------------------------
Df Sum Sq Mean Sq F value Pr(>F)
--------------- ---- -------- --------- --------- --------
**feed** 5 231129 46226 15.36 0
**Residuals** 65 195556 3009
----------------------------------------------------------
Table: Analysis of Variance Table
> pander(coef(summary(model1)))
----------------------------------------------------------------
Estimate Std. Error t value Pr(>|t|)
------------------- ---------- ------------ --------- ----------
**(Intercept)** 323.58 15.83 20.44 0.00
**feedhorsebean** -163.38 23.49 -6.96 0.00
**feedlinseed** -104.83 22.39 -4.68 0.00
**feedmeatmeal** -46.67 22.90 -2.04 0.05
**feedsoybean** -77.15 21.58 -3.58 0.00
**feedsunflower** 5.33 22.39 0.24 0.81
----------------------------------------------------------------
进一步更新: 为什么第一次运行时在第二个表格中设置了digits
并起作用:
> format(c(0.01, 15.36 ), digits = 2)
[1] " 0.01" "15.36"
> format(15.36, digits = 2)
[1] "15"
而且pandoc.table
会按列为基础运行format
,因此列中的数字将根据用户请求具有相同数量的小数位数(即使将该选项设置为TRUE
时,尾随零也是如此)。
如果您认为这可能是错误,请在GitHub上开启一个问题:https://github.com/Rapporter/pander