gpt4 book ai didi

javascript - 将数据动态加载到 rmarkdown html 输出中

转载 作者:行者123 更新时间:2023-12-05 02:33:56 26 4
gpt4 key购买 nike

有没有办法在打开 html 输出时动态加载(例如,通过 javascript 或 ajax)关联的数据和通过 Rmarkdown 生成的 html 输出文件?

例如,我有这个简单的 Rmarkdown 文件,它生成一个图(在 svg 中)和一个表格:

---
title: "test"
output:
html_document:
self_contained: false
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(dev = "svglite", fig.ext = ".svg")
library(svglite)
library(DT)
```

```{r, echo=FALSE}
DATA <- data.frame(a = 1:5, b = 6:10)
plot(DATA)
datatable(DATA)
```

有没有一种方法可以将数据提供给 html 文件,以便当数据发生变化并且我再次打开它时,绘图和表格会自动更新,不必呈现 Rmarkdown 脚本?

最佳答案

是的,这是可能的。您可以使用本地数据或存储在某处的数据,例如 Google 表格。

第 1 步)将 runtime: shiny 添加到您的 YAML。这不会使它“ Shiny ”,但会使其充满活力。

更新的 YAML:

---
title: "test"
output:
html_document:
self_contained: false
runtime: shiny
---

第 2 步)使用函数调用您的数据。

```{r giveMe,echo=F}

giveMeData <- function(){
read.csv("./../_data/carData.csv")
}

dataGiven <- giveMeData()
```

无论是在 RStudio 的查看器 Pane 中还是在浏览器中,您只需在更新数据后刷新 View 或页面。

为了对此进行测试,我使用的唯一其他代码如下:

<!--- inline R code to show the data --->

The column names are `r names(dataGiven)`.
There are `r nrow(dataGiven)` observations in this data.


```{r itsGiven, echo=FALSE}
# plot the data
plot(dataGiven)
datatable(dataGiven)
```

enter image description here

我将列名称更改为“Displacement”并刷新(不是重新运行、运行、编织,只是刷新)

enter image description here

关于javascript - 将数据动态加载到 rmarkdown html 输出中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70852352/

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