【问题标题】:Error:undefined columns selected while using R Shiny错误:使用 R Shiny 时选择了未定义的列
【发布时间】:2019-06-16 01:24:29
【问题描述】:

下面是我的 R 代码:

ui <- fluidPage(
sidebarLayout(
  sidebarPanel(
    fileInput("file1", "Choose CSV File",
              accept = c(
                "text/csv",
                "text/comma-separated-values,text/plain",
                ".csv")
    ),
    tags$hr(),
    checkboxInput("header", "Header", TRUE)
  ),
  mainPanel(
    tableOutput("contents")
  )
)
)

server <- function(input, output) {
 output$contents <- renderTable({

  inFile <- input$file1

  if (is.null(inFile))
    return(NULL)

 read.csv(inFile$datapath, header = input$header)


})
}

shinyApp(ui, server)

当我运行上面的代码时,我正在浏览文件。当我浏览它正在上传。

我的要求是从数据集中只选择几列。意思是:

df1_test =  subset(df_test, select=c("Category" ,"Type","Levels","Age".                             
                                       "StartTime","EndTime"))

所以当我尝试运行以下代码时:

ui <- fluidPage(
sidebarLayout(
  sidebarPanel(
    fileInput("file1", "Choose CSV File",
              accept = c(
                "text/csv",
                "text/comma-separated-values,text/plain",
                ".csv")
    ),
    tags$hr(),
    checkboxInput("header", "Header", TRUE)
  ),
  mainPanel(
    tableOutput("contents")
  )
 )
  )

  server <- function(input, output) {
  output$contents <- renderTable({

  inFile <- input$file1

  if (is.null(inFile))
    return(NULL)

  df_test=read.csv(inFile$datapath, header = input$header)
  df1_test =  subset(df_test, select=c("Category" ,"Type","Levels","Age".                             
                                       "StartTime","EndTime"))

 })
 }

shinyApp(ui, server)

显示如下错误:

Error:undefined columns selected

谁能帮帮我。

【问题讨论】:

    标签: r csv shiny shiny-server


    【解决方案1】:

    问题一定出在你的列名上

    此代码在使用索引选择列的情况下工作正常。

    library(shiny)
    ui <- fluidPage(
      sidebarLayout(
        sidebarPanel(
          fileInput("file1", "Choose CSV File",
                    accept = c(
                      "text/csv",
                      "text/comma-separated-values,text/plain",
                      ".csv")
          ),
          tags$hr(),
          checkboxInput("header", "Header", TRUE)
        ),
        mainPanel(
          tableOutput("contents")
        )
      )
    )
    server <- function(input, output) {
      output$contents <- renderTable({
    
        inFile <- input$file1
    
        if (is.null(inFile))
          return(NULL)
    
        df_test=read.csv(inFile$datapath, header = input$header)
    
        df1_test =  subset(df_test, select=c(1,2,3))
    
      })
    }
    
    shinyApp(ui, server)
    

    【讨论】:

      【解决方案2】:

      这是一个错字,Age。而不是年龄,尝试:

         ui <- fluidPage(
          sidebarLayout(
            sidebarPanel(
              fileInput("file1", "Choose CSV File",
                        accept = c(
                          "text/csv",
                          "text/comma-separated-values,text/plain",
                          ".csv")
              ),
              tags$hr(),
              checkboxInput("header", "Header", TRUE)
            ),
            mainPanel(
              tableOutput("contents")
            )
           )
            )
      
            server <- function(input, output) {
            output$contents <- renderTable({
      
            inFile <- input$file1
      
            if (is.null(inFile))
              return(NULL)
      
            df_test=read.csv(inFile$datapath, header = input$header)
            df1_test =  subset(df_test, select=c("Category" ,"Type","Levels","Age",                            
                                                 "StartTime","EndTime"))
      
           })
           }
      
          shinyApp(ui, server)
      

      【讨论】:

        猜你喜欢
        • 2021-04-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-08
        • 2019-07-21
        相关资源
        最近更新 更多