gpt4 book ai didi

knitr - 在循环中结合传单和 Markdown

转载 作者:行者123 更新时间:2023-12-02 01:13:33 25 4
gpt4 key购买 nike

This question展示了如何在 Markdown 文件中循环/应用传单对象。我想做类似的事情,尽管我想添加额外的 Markdown 内容。

---
title: "Test"
output: html_document
---


```{r setup, echo=T,results='asis'}
library(leaflet)
library(dplyr) ### !!! uses development version with tidyeval !!!
library(htmltools)

##Add A Random Year Column
data(quakes)
quakes <- tbl_df(quakes) %>%
mutate(year = sample(2008:2010, n(), replace=TRUE))
```

```{r maps, echo=T,results='asis'}
createMaps <- function(year){
cat(paste("###", year, "\n"))
leaflet(quakes %>% filter(year == !!year)) %>%
addTiles() %>%
addMarkers(
lng = ~long,
lat = ~lat,
popup = ~as.character(mag))
cat("\n\n")
}

htmltools::tagList(lapply(as.list(2008:2010), function(x) createMaps(x) ))
```

如果我在 createMaps 函数中省略了 cat 语句,此代码将打印所有三张 map 。如果我输入 cat 语句,我会得到 Markdown ,但没有 map 。有什么方法可以结合这两种类型的元素?

最佳答案

问题是,在 lapply 返回其结果列表之前,正在评估您的 cat 语句。

删除cat 语句,将createMaps 函数更改为

createMaps <- function(year){
mymap <- leaflet(quakes %>% filter(year == !!year)) %>%
addTiles() %>%
addMarkers(
lng = ~long,
lat = ~lat,
popup = ~as.character(mag))
return(list(tags$h1(year), mymap))
}

并将 tags$h1() 更改为您想要的任何大小的 header (tags$h2(), ...)

关于knitr - 在循环中结合传单和 Markdown ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43792783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com