我在工作中使用kable与knit to Word功能。我发现我的表格通常有一个计数列,然后是几列比例。我想要将计数列四舍五入到最近的数字,并将其他列四舍五入到最近的百分之一。我尝试在kable()命令中使用digits = c(0,2,2)参数,但即使它四舍五入到最近的数字,它仍然显示两个数字的计数。
我这里看不到问题。
> knitr::kable(as.data.frame(matrix(rnorm(12), 4)), digits = c(0, 2, 2))
| V1| V2| V3|
|--:|-----:|-----:|
| -1| 2.11| -0.54|
| 0| -0.33| 0.95|
| -1| -1.14| -0.96|
| 0| 1.45| -0.93|
> sessionInfo()
R version 3.1.1 (2014-07-10)
Platform: x86_64-pc-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8
[4] LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] evaluate_0.5.5 formatR_0.10.5 knitr_1.6 stringr_0.6.2 tools_3.1.1
pander
的快速示例:
> df <- data.frame(a = 1:5, b = runif(5), c = runif(5))
> library(pander)
> pander(df)
------------------
a b c
--- ------ -------
1 0.5949 0.4595
2 0.7645 0.5012
3 0.7755 0.6024
4 0.818 0.01271
5 0.4329 0.7588
------------------
> panderOptions('digits', 2)
> pander(df)
--------------
a b c
--- ---- -----
1 0.59 0.46
2 0.76 0.5
3 0.78 0.6
4 0.82 0.013
5 0.43 0.76
--------------