У меня есть список элементов kable
list1 <- vector(mode = 'list', length = 2L)
a <- data.frame(a = c(1,2,3), b = c('q','w','e'))
b <- data.frame(d = c(3,4,5), e = c('k', 'l', 'm'))
list1[[1]] <- a %>% kable(format = 'html') %>% kable_styling('hover', full_width = F)
list1[[2]] <- b %>% kable(format = 'html') %>% kable_styling('hover', full_width = F)
Единственный способ, которым я успешно печатаю каждый элемент в файл html (rmarkdown), заключается в том, чтобы вызывать один за другим, как это:
```{r, echo = FALSE, result = 'asis'}
list1[[1]]
list1[[2]]
```
с желаемым выводом при вызове rmarkdown :: render (output_format = 'html_document'):
![desired output](https://i.stack.imgur.com/PedHR.png)
Если я сделаю что-нибудь другое Например:
```{r, echo = FALSE, result = 'asis'}
print(list1)
```
или
```{r, echo = FALSE, result = 'asis'}
for(i in seq_along(list1)) {print(list1[[i]])}
```
или
```{r, echo = FALSE, result = 'asis'}
purrr::map(c(1,2), ~ print(list1[[.x]]))
```
В файле html я получаю следующий вывод:
## <table class="table table-hover" style="width: auto !important; margin-left: auto; margin-right: auto;">
## <thead>
## <tr>
## <th style="text-align:right;"> a </th>
## <th style="text-align:left;"> b </th>
## </tr>
## </thead>
## <tbody>
## <tr>
## <td style="text-align:right;"> 1 </td>
## <td style="text-align:left;"> q </td>
## </tr>
## <tr>
## <td style="text-align:right;"> 2 </td>
## <td style="text-align:left;"> w </td>
## </tr>
## <tr>
## <td style="text-align:right;"> 3 </td>
## <td style="text-align:left;"> e </td>
## </tr>
## </tbody>
## </table>
## <table class="table table-hover" style="width: auto !important; margin-left: auto; margin-right: auto;">
## <thead>
## <tr>
## <th style="text-align:right;"> d </th>
## <th style="text-align:left;"> e </th>
## </tr>
## </thead>
## <tbody>
## <tr>
## <td style="text-align:right;"> 3 </td>
## <td style="text-align:left;"> k </td>
## </tr>
## <tr>
## <td style="text-align:right;"> 4 </td>
## <td style="text-align:left;"> l </td>
## </tr>
## <tr>
## <td style="text-align:right;"> 5 </td>
## <td style="text-align:left;"> m </td>
## </tr>
## </tbody>
## </table>
Как я могу распечатать все эти таблицы, не вызывая элемент за элементом?