gpt4 book ai didi

r - Shiny:基于文件输入的响应式(Reactive) header

转载 作者:行者123 更新时间:2023-12-02 04:19:56 24 4
gpt4 key购买 nike

我想让我的 Shiny 程序的 header 通过使用上传的文件名更新自身来对文件输入使用react。这是我所拥有的:

ui.R:

shinyUI(pageWithSidebar(
headerPanel("File"),
sidebarPanel(
fileInput("file1", "Upload a file:",
accept = c('.csv','text/csv','text/comma-separated-values,text/plain'),
multiple = F) ) ))

服务器.R:

shinyServer(function(input, output, session) {
in_data <- reactive({
inFile <- input$file1
if (is.null(inFile)) return(NULL)
read.csv(inFile$datapath, as.is=T)
}) })

基本上,我想更新 headerPanel,以便在用户上传文件后显示“文件 [名称]”。我在访问 server.R 中的 ui.R 时遇到困难。我尝试在 server.R 中调用 in_data() 但找不到它。有什么想法吗?

最佳答案

技巧是在有 headerPanel 的地方使用 uiOutput,例如,

ui <- pageWithSidebar(
uiOutput("header_panel"),
sidebarPanel(
fileInput("file1", "Upload a file:",
accept = c('.csv','text/csv','text/comma-separated-values,text/plain'),
multiple = F
)
),
mainPanel()
)

server <- function(input, output, session) {

in_data <- reactive({
inFile <- input$file1
if (is.null(inFile)) return(NULL)
read.csv(inFile$datapath, as.is=T)
})

output$header_panel <- renderUI({
inFile <- input$file1
if (is.null(inFile)) headerPanel('File')
else headerPanel(paste('File', inFile$name))
})
}

shinyApp(ui=ui, server=server)

关于r - Shiny:基于文件输入的响应式(Reactive) header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31249360/

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