【问题标题】:selecting among files already stored on shiny server选择已存储在闪亮服务器上的文件
【发布时间】:2013-07-20 06:31:08
【问题描述】:

我是RShiny 的新手,我的Shiny 服务器上存储了一些数据文件。

我要做的是根据用户选择选择一个文件,然后将该文件读入数据框。

我目前收到了一个object not found error,尽管该名称正在正确传输到服务器 UI。

这是一些代码,首先是server.r

    library(shiny)
    library(datasets)
    filenames<-list.files(path="~/qc",pattern="\\.csv$")
    shinyServer(function(input,output){

    output$choose_dataset<-renderUI({
    selectInput("dataset","Data set",filenames)
    })
    output$data_table<-renderTable({
    selFile<-get(input$dataset)
    mydat<-read.csv(selFile$name,header=T)
    head(mydat,50)
    })
    })

这里是ui.r

    library(shiny)
    shinyUI(pageWithSidebar(
    headerPanel(
    "Files Selection"
    ),
    sidebarPanel(
    uiOutput("choose_dataset")
    ),
    mainPanel(
             tabsetPanel(
                         tabPanel("plot",plotOutput("plot"),id="myplot"),
                         tabPanel("Data",tableOutput("data_table"),id="myTab"),
                         id="Plot_Data"
                         )
    )
    ))         

感谢您的帮助。

【问题讨论】:

  • 如果您显示一些代码会有所帮助
  • 我们怎样才能把文件放到闪亮的服务器上?

标签: r shiny


【解决方案1】:

我做了一些小改动,它对我有用。试试看这对你也有用。

server.R 中,我将 selectInput() 移至 UI.R,并将文件名变量也移至 UI.R。 现在,由于 input$dataset 在文件中,您不会收到 get() 命令。

服务器.R

library(shiny)
library(datasets)
shinyServer(function(input,output){

  output$data_table<-renderTable({
    #selFile<-get(input$dataset)
    mydat<-read.csv(input$dataset, header=T)
    head(mydat,50)
  })
})

更新后的 UI.R

library(shiny)

filenames<-list.files(pattern="\\.csv$")

shinyUI(pageWithSidebar(
  headerPanel(
    "Files Selection"
  ),
  sidebarPanel(
    selectInput(inputId = "dataset",
                label = "Choose Dataset",
                filenames
                )    
  ),
  mainPanel(
    tabsetPanel(
      tabPanel("plot",plotOutput("plot"),id="myplot"),
      tabPanel("Data",tableOutput("data_table"),id="myTab"),
      id="Plot_Data"
    )
  )
))

试试这个,你应该不会收到object not found 错误。您可以使用这些文件作为基础并在这些文件之上进行构建。

希望这会有所帮助。

【讨论】:

  • 非常感谢。它的作品,但据我所知,以我的方式做错了什么。再次感谢。
  • +1,但提示另一个问题:在您的解决方案中,您正在将数据加载到 output$data_table
猜你喜欢
  • 2020-03-19
  • 1970-01-01
  • 2014-05-06
  • 2016-12-28
  • 1970-01-01
  • 2016-07-28
  • 2016-12-09
  • 1970-01-01
  • 2021-11-07
相关资源
最近更新 更多