我想创建一个Shiny-RMarkdown应用程序,允许上传自己的数据集。数据集有时不仅会影响一个块,可以通过renderPlot()(或类似的)重新渲染,但有时会有两个或更多的块。请看下面的例子:闪亮和RMarkdown:渲染多个块
---
title: Render multiple chunks
output: html_document
runtime: shiny
---
```{r echo=FALSE}
library(shiny)
fileInput('file1', 'Choose your own CSV File instead of provided
data',accept=c('text/csv', 'text/comma-separated-values,text/plain',
'.csv'))
go1<-reactive({
dpath <- "CurrentBiologyData.txt"
if(!is.null(input$file1)){
dpath <- input$file1$datapath
}
CB.dat <- read.table(dpath, header = TRUE) #choose 'CurrentBiologyData.txt'
plot(CB.dat)
})
```
```{r echo=FALSE}
renderPlot({
go1()
})
```
```{r}
renderPlot({
print(CB.dat)
})
```
所以我如果我上传一个新的数据集,其受影响的三个组块。问题是,第三块没有看到CB.dat填充在第一小盘:
Error: Object 'CB.dat' not found
任何想法如何,我可以使这项工作?
将文件放在一个'无功阅读'然后在任何需要的地方使用它 – HubertL
谢谢。但反应只能部分解决问题。我最初的例子可能太简单了,所以稍微将它扩展了三分之一。新的例子仍然很常见,但不起作用,因为它会导致相同的错误。 – MarkusK