我正在使用R markdown(RMD)文件中的闪亮接口读取csv文件。
```{r, echo = FALSE}
shinyApp(
ui = fluidPage(
fluidRow(
column(3,
fileInput("file","Upload the file"),
helpText("Default max. file size is 5MB")
),
column(4,
tags$hr(),
h5(helpText("Select the read.table parameters below")),
checkboxInput(inputId = 'header', label = 'Header', value = TRUE),
checkboxInput(inputId = "stringAsFactors", "stringAsFactors", TRUE),
br()
),
column(5,
radioButtons(inputId = 'sep', label = 'Separator', choices = c(Comma=',',Semicolon=';',Tab='\t', Space=''), selected = ',')
),
mainPanel(
uiOutput("tb")
# use below code if you want the tabset programming in the main panel. If so, then tabset will appear when the app loads for the first time.
# tabsetPanel(tabPanel("Summary", verbatimTextOutput("sum")),
# tabPanel("Data", tableOutput("table")))
)
)
),
server = function(input, output) {
data <- reactive({
file1 <- input$file
if(is.null(file1)){return()}
read.table(file=file1$datapath, quote = NULL,header = TRUE, sep=input$sep, fill=TRUE,stringsAsFactors = input$stringAsFactors)
})
output$table <- renderTable({
if(is.null(data())){return ()}
head(data(),5)
})
output$tb <- renderUI({
if(is.null(data()))
return()
else
tabPanel("Data", tableOutput("table"))
})
},
)
```
输入数据现在存储在data()中。稍后在我的文档中,我希望创建另一个闪亮的应用程序并绘制此数据的直方图。在这种情况下,我需要将变量data()传递给RMarkdown,然后在下一个闪亮的应用程序中调用该变量。有没有办法做到这一点?
答案 0 :(得分:0)
嗯,您的问题的解决方案是创建一个图层应用程序。 Shiny不像html或php那样工作,你调用文件,每个文件都有自己的代码。 Shiny只生成一个HTML代码(运行应用程序时)。
可能你有一些选项可以在一个闪亮的应用程序中显示情节:
根据我的经验,我使用导航栏来创建导航面板,您只能看到所选菜单。此外,您可以使用包XXXs,它允许您在需要时隐藏一些元素。