kable показывает html-код вместо html-таблицы

Я пытался использовать kable для создания красивой таблицы. Однако kable просто вернул html-код вместо самой таблицы в r notebook (R версии 3.5.0, R версии 1.1.453 на Mac).

Тест 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|

Test2

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, является ли это ошибкой этой версии записной книжки kable / r?

Обновление: после добавления results = 'asis' в параметры блока вывод успешно отображается в документе .html. Тем не менее, я все еще не мог увидеть это в записной книжке. Есть ли способ увидеть это в RNotebook? Спасибо.

```{r results = "asis"}
library(knitr)
library(kableExtra)
dt <- mtcars[1:5,1:6]
kable(dt, format = "html")
```

.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>

person JetLag    schedule 28.10.2018    source источник
comment
Попробуйте вариант фрагмента results = "asis".   -  person Martin Schmelzer    schedule 28.10.2018
comment
Спасибо @MartinSchmelzer. Я попробовал, и результат успешно отображается в html-документе. Тем не менее, я все еще не мог увидеть это в записной книжке. Это ограничение rnotebook? Спасибо.   -  person JetLag    schedule 28.10.2018
comment
Вы пробовали не определять какой-либо формат?   -  person Pedro Schuller    schedule 28.10.2018
comment
@PedroSchuller Что вы имеете в виду под определением формата? Спасибо.   -  person JetLag    schedule 29.10.2018
comment
Я имею в виду пропуск параметра format = "html", который вы передаете в kable ().   -  person Pedro Schuller    schedule 29.10.2018
comment
@PedroSchuller Да, я пробовал это. Но он все равно вернул html-код.   -  person JetLag    schedule 29.10.2018


Ответы (1)


Попробуйте передать результат в kable_styling. Он применит метод печати, чтобы таблица была отрисована.

person Hao    schedule 30.10.2018