[英]R - create list from dataframe and print in markdown
這是我的數據框
dt <-
data.frame(
year = c(2018, 2019, 2020),
sales = c(123, 987, 852)
)
在我的降價文檔中,我以這種方式打印數據
datatable(
dt,
escape = F,
rownames = F,
filter = 'top',
options = list(
pageLength = 999,
dom = "t",
columnDefs = list(list(className = "dt-center", targets = "_all")),
ordering = T)
) %>%
formatCurrency(c("sales"), digits = 1)
我的實際數據框要大得多,我想按年份拆分它並每年在單獨的數據表中打印。 另外我想為每個部分打印 h4 標題。
我以這種方式嘗試了 lapply,但我無法在 Markdown 中打印它,而且我不知道如何添加該標題。
t_list <-
lapply(split(dt, dt$year), function(df) {
datatable(
df,
escape = F,
rownames = F,
filter = 'top',
options = list(
pageLength = 999,
dom = "t",
columnDefs = list(list(className = "dt-center", targets = "_all")),
ordering = T)
) %>%
formatCurrency(c("sales"), digits = 1)
})
您可以使用htmltools::tagList
:
```{r}
library(DT)
t_list <-
lapply(split(dt, dt$year), function(df) {
year <- unique(df$year)
htmltools::tagList(htmltools::h4(year),datatable(
df,
escape = F,
rownames = F,
filter = 'top',
options = list(
pageLength = 999,
dom = "t",
columnDefs = list(list(className = "dt-center", targets = "_all")),
ordering = T)
) %>%
formatCurrency(c("sales"), digits = 1))
})
htmltools::tagList(t_list)
```
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.