我正在执行一项简单的任务:创建一个表并使用R标记将其输出到
pdf
,如下所示:
库(knitr)
kable(数据表,对齐='ccccccc',
col.names=c(“复制”、“西格玛测试”、“西格玛下限”、“西格玛上限”,
“Lambda Est”、“Lambda Lower”、“Lambda Upper”),数字=3)
问题
输出表格时,列不居中。事实上,对于某些表,它们是右对齐的,而对于其他表,它们是左对齐的,这在我看来是随机的
问题
我如何使用packageknitr
中的R
功能kable
控制列的对齐,即我做错了什么
编辑
运行:
库(knitr)
kable(数据表,align=c(rep('c',times=7)),
col.names=c(“复制”、“西格玛测试”、“西格玛下限”、“西格玛上限”,
“Lambda Est”、“Lambda Lower”、“Lambda Upper”),数字=3)
收益率:
|复制|σEst |σLower |σUpper | Lambda Est | Lambda Lower | Lambda Upper|
|:----:|:---------:|:-----------:|:-----------:|:----------:|:------------:|:------------:|
| 0 | 14.631 | 12.275 | 16.987 | 0.129 | 8.778 | 9.296 |
| 1 | 16.988 | 14.275 | 19.700 | 0.136 | 8.190 | 8.736 |
| 2 | 20.850 | 17.517 | 24.183 | 0.129 | 8.595 | 9.113 |
| 3 | 20.551 | 17.229 | 23.874 | 0.127 | 9.015 | 9.523 |
| 4 | 22.651 | 18.993 | 26.310 | 0.127 | 8.969 | 9.478 |
| 5 | 23.369 | 19.652 | 27.086 | 0.127 | 8.599 | 9.108 |
这正是我想要的,因为:-:
表示列的居中,但是,当我按Knit PDF
并生成PDF
文档时,所有列仍保持左对齐。我该怎么做
您希望为kable
提供等于列数的对齐字符串向量。如帮助文件中所述
列对齐:由“l”(左)、“c”(中)和/或“r”(右)组成的字符向量;默认情况下,数字列右对齐,其他列左对齐;如果align=NULL,则使用默认对齐方式
这是一个可复制的例子
如果没有任何对齐值,字符列将左对齐,数字列将右对齐,如下所示
库(knitr)
卡布尔(车头(mtcars[1:5]))
返回
| mpg | cyl | disp | hp | drat|
|:-----------------|----:|---:|----:|---:|----:|
|马自达RX4 | 21.0 | 6 | 160 | 110 | 3.90|
|马自达RX4 Wag | 21.0 | 6 | 160 | 110 | 3.90|
|Datsun 710 | 22.8 | 4 | 108 | 93 | 3.85|
|大黄蜂4路| 21.4 | 6 | 258 | 110 | 3.08|
|大黄蜂运动约| 18.7 | 8 | 360 | 175 | 3.15|
|英勇| 18.1 | 6 | 225 | 105 | 2.76|
为了使数字列居中对齐,同时保持字符列右对齐,我使用了以下命令
kable(头部(mtcars[1:5]),对齐=代表('c',5))
|| mpg | cyl | disp | hp | drat|
|:-----------------|:----:|:---:|:----:|:---:|:----:|
|马自达RX4 | 21.0 | 6 | 160 | 110 | 3.90|
|马自达RX4 Wag | 21.0 | 6 | 160 | 110 | 3.90|
|Datsun 710 | 22.8 | 4 | 108 | 93 | 3.85|
|大黄蜂4路| 21.4 | 6 | 258 | 110 | 3.08|
|大黄蜂运动约| 18.7 | 8 | 360 | 175 | 3.15|
|英勇| 18.1 | 6 | 225 | 105 | 2.76|
如果将以下文本复制到.Rmd文件中,将返回表格,格式如所需为pdf文件
---
标题:“无标题”
输出:pdf\U文件
---
这个东西
```{r table1,as.is=TRUE}
图书馆(knitr)
卡布尔(车头(mtcars[1:5]))
```
不是一个居中的桌子,而这个东西
```{r table2,as.is=TRUE}
卡布尔(头部(多节车厢[1:5]),对齐=代表('c',5))
```
这是一张居中的桌子。