打印Rmarkdown中可移动元素的列表
我有一个可供选择的元素列表打印Rmarkdown中可移动元素的列表,r,r-markdown,knitr,kable,kableextra,R,R Markdown,Knitr,Kable,Kableextra,我有一个可供选择的元素列表 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', fu
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)
调用rmarkdown::render(output_format='html_document')时具有所需的输出:
如果我做了其他事情,比如:
```{r, echo = FALSE, result = 'asis'}
print(list1)
```
或
或
我在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>
##
##
##
##a
##b
##
##
##
##
## 1
##q
##
##
## 2
##w
##
##
## 3
##e
##
##
##
##
##
##
##d
##e
##
##
##
##
## 3
##k
##
##
## 4
##l
##
##
## 5
##m
##
##
##
如何在不必逐个元素调用的情况下打印所有这些表?它在会话中使用以下命令(其中
kables
是kable的列表)
r knit(text = unlist(kables))
与区块选项“asis”一起解决了我的问题。谢谢
```{r, echo = FALSE, result = 'asis'}
purrr::map(c(1,2), ~ print(list1[[.x]]))
```
## <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>
r knit(text = unlist(kables))