kable 显示 html 代码而不是 html table
kable showing html code instead of html table
我正在尝试使用 kable 生成漂亮的 table。然而,kable 只是在 r notebook 中返回了 html 代码而不是 table 本身(R 版本 3.5.0,Mac 上的 R 版本 1.1.453)。
测试 1
```{r}
library(knitr)
dt <- mtcars[1:5,1:6]
knitr::kable(dt)
```
R Notebook 界面和 .html 文档中显示的结果:
| | mpg| cyl| disp| hp| drat| wt|
|:-----------------|----:|---:|----:|---:|----:|-----:|
|Mazda RX4 | 21.0| 6| 160| 110| 3.90| 2.620|
|Mazda RX4 Wag | 21.0| 6| 160| 110| 3.90| 2.875|
|Datsun 710 | 22.8| 4| 108| 93| 3.85| 2.320|
|Hornet 4 Drive | 21.4| 6| 258| 110| 3.08| 3.215|
|Hornet Sportabout | 18.7| 8| 360| 175| 3.15| 3.440|
测试2
library(knitr)
dt <- mtcars[1:5,1:6]
knitr::kable(dt, format = "html")
R Notebook 界面和 .html 文档中显示的结果:
<table>
<thead>
<tr>
<th style="text-align:left;"> </th>
<th style="text-align:right;"> mpg </th>
<th style="text-align:right;"> cyl </th>
<th style="text-align:right;"> disp </th>
<th style="text-align:right;"> hp </th>
<th style="text-align:right;"> drat </th>
<th style="text-align:right;"> wt </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;"> Mazda RX4 </td>
<td style="text-align:right;"> 21.0 </td>
<td style="text-align:right;"> 6 </td>
<td style="text-align:right;"> 160 </td>
<td style="text-align:right;"> 110 </td>
<td style="text-align:right;"> 3.90 </td>
<td style="text-align:right;"> 2.620 </td>
</tr>
<tr>
<td style="text-align:left;"> Mazda RX4 Wag </td>
<td style="text-align:right;"> 21.0 </td>
<td style="text-align:right;"> 6 </td>
<td style="text-align:right;"> 160 </td>
<td style="text-align:right;"> 110 </td>
<td style="text-align:right;"> 3.90 </td>
<td style="text-align:right;"> 2.875 </td>
</tr>
<tr>
<td style="text-align:left;"> Datsun 710 </td>
<td style="text-align:right;"> 22.8 </td>
<td style="text-align:right;"> 4 </td>
<td style="text-align:right;"> 108 </td>
<td style="text-align:right;"> 93 </td>
<td style="text-align:right;"> 3.85 </td>
<td style="text-align:right;"> 2.320 </td>
</tr>
<tr>
<td style="text-align:left;"> Hornet 4 Drive </td>
<td style="text-align:right;"> 21.4 </td>
<td style="text-align:right;"> 6 </td>
<td style="text-align:right;"> 258 </td>
<td style="text-align:right;"> 110 </td>
<td style="text-align:right;"> 3.08 </td>
<td style="text-align:right;"> 3.215 </td>
</tr>
<tr>
<td style="text-align:left;"> Hornet Sportabout </td>
<td style="text-align:right;"> 18.7 </td>
<td style="text-align:right;"> 8 </td>
<td style="text-align:right;"> 360 </td>
<td style="text-align:right;"> 175 </td>
<td style="text-align:right;"> 3.15 </td>
<td style="text-align:right;"> 3.440 </td>
</tr>
</tbody>
</table>
测试 3
library(knitr)
library(kableExtra)
dt <- mtcars[1:5,1:6]
kable(dt, format = "html")
结果:同上
由于 .html 文档中的输出也显示了上面的原始 html 代码而不是 html table,这是这个版本的错误吗kable/r笔记本?
更新:
在块选项中添加 results = 'asis'
后,输出成功呈现到 .html 文档中。但是,我仍然看不到 rnotebook。有什么办法可以在 RNotebook 中看到它吗?谢谢。
```{r results = "asis"}
library(knitr)
library(kableExtra)
dt <- mtcars[1:5,1:6]
kable(dt, format = "html")
```
.html 文档屏幕截图
R Notebook 文档中显示的内容
<table>
<thead>
<tr>
<th style="text-align:left;"> </th>
<th style="text-align:right;"> mpg </th>
<th style="text-align:right;"> cyl </th>
<th style="text-align:right;"> disp </th>
<th style="text-align:right;"> hp </th>
<th style="text-align:right;"> drat </th>
<th style="text-align:right;"> wt </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;"> Mazda RX4 </td>
<td style="text-align:right;"> 21.0 </td>
<td style="text-align:right;"> 6 </td>
<td style="text-align:right;"> 160 </td>
<td style="text-align:right;"> 110 </td>
<td style="text-align:right;"> 3.90 </td>
<td style="text-align:right;"> 2.620 </td>
</tr>
<tr>
<td style="text-align:left;"> Mazda RX4 Wag </td>
<td style="text-align:right;"> 21.0 </td>
<td style="text-align:right;"> 6 </td>
<td style="text-align:right;"> 160 </td>
<td style="text-align:right;"> 110 </td>
<td style="text-align:right;"> 3.90 </td>
<td style="text-align:right;"> 2.875 </td>
</tr>
<tr>
<td style="text-align:left;"> Datsun 710 </td>
<td style="text-align:right;"> 22.8 </td>
<td style="text-align:right;"> 4 </td>
<td style="text-align:right;"> 108 </td>
<td style="text-align:right;"> 93 </td>
<td style="text-align:right;"> 3.85 </td>
<td style="text-align:right;"> 2.320 </td>
</tr>
<tr>
<td style="text-align:left;"> Hornet 4 Drive </td>
<td style="text-align:right;"> 21.4 </td>
<td style="text-align:right;"> 6 </td>
<td style="text-align:right;"> 258 </td>
<td style="text-align:right;"> 110 </td>
<td style="text-align:right;"> 3.08 </td>
<td style="text-align:right;"> 3.215 </td>
</tr>
<tr>
<td style="text-align:left;"> Hornet Sportabout </td>
<td style="text-align:right;"> 18.7 </td>
<td style="text-align:right;"> 8 </td>
<td style="text-align:right;"> 360 </td>
<td style="text-align:right;"> 175 </td>
<td style="text-align:right;"> 3.15 </td>
<td style="text-align:right;"> 3.440 </td>
</tr>
</tbody>
</table>
尝试将结果传送到 kable_styling
。它将应用打印方法,因此 table 将被渲染。
或者您可以使用 kable() 的 'pipe' 格式 knitr::kable(., format = "pipe", padding = 2)
我正在尝试使用 kable 生成漂亮的 table。然而,kable 只是在 r notebook 中返回了 html 代码而不是 table 本身(R 版本 3.5.0,Mac 上的 R 版本 1.1.453)。
测试 1
```{r}
library(knitr)
dt <- mtcars[1:5,1:6]
knitr::kable(dt)
```
R Notebook 界面和 .html 文档中显示的结果:
| | mpg| cyl| disp| hp| drat| wt|
|:-----------------|----:|---:|----:|---:|----:|-----:|
|Mazda RX4 | 21.0| 6| 160| 110| 3.90| 2.620|
|Mazda RX4 Wag | 21.0| 6| 160| 110| 3.90| 2.875|
|Datsun 710 | 22.8| 4| 108| 93| 3.85| 2.320|
|Hornet 4 Drive | 21.4| 6| 258| 110| 3.08| 3.215|
|Hornet Sportabout | 18.7| 8| 360| 175| 3.15| 3.440|
测试2
library(knitr)
dt <- mtcars[1:5,1:6]
knitr::kable(dt, format = "html")
R Notebook 界面和 .html 文档中显示的结果:
<table>
<thead>
<tr>
<th style="text-align:left;"> </th>
<th style="text-align:right;"> mpg </th>
<th style="text-align:right;"> cyl </th>
<th style="text-align:right;"> disp </th>
<th style="text-align:right;"> hp </th>
<th style="text-align:right;"> drat </th>
<th style="text-align:right;"> wt </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;"> Mazda RX4 </td>
<td style="text-align:right;"> 21.0 </td>
<td style="text-align:right;"> 6 </td>
<td style="text-align:right;"> 160 </td>
<td style="text-align:right;"> 110 </td>
<td style="text-align:right;"> 3.90 </td>
<td style="text-align:right;"> 2.620 </td>
</tr>
<tr>
<td style="text-align:left;"> Mazda RX4 Wag </td>
<td style="text-align:right;"> 21.0 </td>
<td style="text-align:right;"> 6 </td>
<td style="text-align:right;"> 160 </td>
<td style="text-align:right;"> 110 </td>
<td style="text-align:right;"> 3.90 </td>
<td style="text-align:right;"> 2.875 </td>
</tr>
<tr>
<td style="text-align:left;"> Datsun 710 </td>
<td style="text-align:right;"> 22.8 </td>
<td style="text-align:right;"> 4 </td>
<td style="text-align:right;"> 108 </td>
<td style="text-align:right;"> 93 </td>
<td style="text-align:right;"> 3.85 </td>
<td style="text-align:right;"> 2.320 </td>
</tr>
<tr>
<td style="text-align:left;"> Hornet 4 Drive </td>
<td style="text-align:right;"> 21.4 </td>
<td style="text-align:right;"> 6 </td>
<td style="text-align:right;"> 258 </td>
<td style="text-align:right;"> 110 </td>
<td style="text-align:right;"> 3.08 </td>
<td style="text-align:right;"> 3.215 </td>
</tr>
<tr>
<td style="text-align:left;"> Hornet Sportabout </td>
<td style="text-align:right;"> 18.7 </td>
<td style="text-align:right;"> 8 </td>
<td style="text-align:right;"> 360 </td>
<td style="text-align:right;"> 175 </td>
<td style="text-align:right;"> 3.15 </td>
<td style="text-align:right;"> 3.440 </td>
</tr>
</tbody>
</table>
测试 3
library(knitr)
library(kableExtra)
dt <- mtcars[1:5,1:6]
kable(dt, format = "html")
结果:同上
由于 .html 文档中的输出也显示了上面的原始 html 代码而不是 html table,这是这个版本的错误吗kable/r笔记本?
更新:
在块选项中添加 results = 'asis'
后,输出成功呈现到 .html 文档中。但是,我仍然看不到 rnotebook。有什么办法可以在 RNotebook 中看到它吗?谢谢。
```{r results = "asis"}
library(knitr)
library(kableExtra)
dt <- mtcars[1:5,1:6]
kable(dt, format = "html")
```
.html 文档屏幕截图
R Notebook 文档中显示的内容
<table>
<thead>
<tr>
<th style="text-align:left;"> </th>
<th style="text-align:right;"> mpg </th>
<th style="text-align:right;"> cyl </th>
<th style="text-align:right;"> disp </th>
<th style="text-align:right;"> hp </th>
<th style="text-align:right;"> drat </th>
<th style="text-align:right;"> wt </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;"> Mazda RX4 </td>
<td style="text-align:right;"> 21.0 </td>
<td style="text-align:right;"> 6 </td>
<td style="text-align:right;"> 160 </td>
<td style="text-align:right;"> 110 </td>
<td style="text-align:right;"> 3.90 </td>
<td style="text-align:right;"> 2.620 </td>
</tr>
<tr>
<td style="text-align:left;"> Mazda RX4 Wag </td>
<td style="text-align:right;"> 21.0 </td>
<td style="text-align:right;"> 6 </td>
<td style="text-align:right;"> 160 </td>
<td style="text-align:right;"> 110 </td>
<td style="text-align:right;"> 3.90 </td>
<td style="text-align:right;"> 2.875 </td>
</tr>
<tr>
<td style="text-align:left;"> Datsun 710 </td>
<td style="text-align:right;"> 22.8 </td>
<td style="text-align:right;"> 4 </td>
<td style="text-align:right;"> 108 </td>
<td style="text-align:right;"> 93 </td>
<td style="text-align:right;"> 3.85 </td>
<td style="text-align:right;"> 2.320 </td>
</tr>
<tr>
<td style="text-align:left;"> Hornet 4 Drive </td>
<td style="text-align:right;"> 21.4 </td>
<td style="text-align:right;"> 6 </td>
<td style="text-align:right;"> 258 </td>
<td style="text-align:right;"> 110 </td>
<td style="text-align:right;"> 3.08 </td>
<td style="text-align:right;"> 3.215 </td>
</tr>
<tr>
<td style="text-align:left;"> Hornet Sportabout </td>
<td style="text-align:right;"> 18.7 </td>
<td style="text-align:right;"> 8 </td>
<td style="text-align:right;"> 360 </td>
<td style="text-align:right;"> 175 </td>
<td style="text-align:right;"> 3.15 </td>
<td style="text-align:right;"> 3.440 </td>
</tr>
</tbody>
</table>
尝试将结果传送到 kable_styling
。它将应用打印方法,因此 table 将被渲染。
或者您可以使用 kable() 的 'pipe' 格式 knitr::kable(., format = "pipe", padding = 2)