首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据动态加载到rmarkdown html输出中。

将数据动态加载到rmarkdown html输出中。
EN

Stack Overflow用户
提问于 2022-01-25 16:36:52
回答 1查看 382关注 0票数 3

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

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

代码语言:javascript
复制
---
title: "test"
output: 
    html_document:
        self_contained: false
---

```{r setup, include=FALSE}

knitr::opts_chunk$set(dev = "svglite",fig.ext = ".svg")

图书馆(Svglite)

图书馆(DT)

代码语言:javascript
复制
```{r, echo=FALSE}

数据<- data.frame(a = 1:5,b= 6:10)

地块(数据)

数据表(数据)

代码语言:javascript
复制

是否有一种方法可以将数据提供给html文件,以便当数据更改(我再次打开它)时,可以自动更新绘图和表,而不必呈现Rmarkdown脚本?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-29 21:48:15

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

步骤1)将runtime: shiny添加到YAML中。这并不能使它变得“闪亮”,而是使它充满活力。

更新的YAML:

代码语言:javascript
复制
---
title: "test"
output: 
    html_document:
        self_contained: false
runtime: shiny
---

第二步)使用函数调用数据。

代码语言:javascript
复制
```{r giveMe,echo=F}

giveMeData <- function(){

Read.csv(“././_data/carData.csv”)

}

dataGiven <- giveMeData()

代码语言:javascript
复制

无论是在RStudio中的查看器窗格中还是在浏览器中,您只需要在更新数据后刷新视图或页面。

要测试这一点,我使用的唯一其他代码如下:

代码语言:javascript
复制
<!--- 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}

绘制数据

地块(DataGiven)

数据表(DataGiven)

代码语言:javascript
复制

我将列名更改为“置换”并刷新(不是重新运行、运行、编织、刷新)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70852352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档