上传 .csv 并在 Shiny 中更改 as.Date 格式

Upload .csv and change as.Date format in Shiny

我正在编写一个闪亮的应用程序,它涉及加载一个 .csv 文件,然后显示表格和图形。导入数据的其中一列需要采用日期格式,以便处理更多图表。但是,我在实现这一点时遇到了问题。

如果我直接在 RStudio 中工作,这很容易做到:

data_clean <- read.csv(input$file, header = input$header)

data_clean$date <- as.Date(data_clean$date) # converting date to date format

而且效果很好。

但是当我通过这段代码上传 .csv 文件时出现错误:

server <- function(input, output) {


# vals will contain all table and plot grobs
vals <- reactiveValues(table1=NULL, 
                       plot1=NULL, 
                       plot2=NULL,
                       plot3=NULL,
                       plot4=NULL,
                       plot5=NULL)  

updata <- eventReactive(input$file, {
  read.csv(input$file$datapath, header=TRUE) 
})


data <- eventReactive(updata, {

  updata$date <- as.Date(updata$date) # THIS IS MY PROBLEM

})

selectedDate <- eventReactive(input$clicks,{
    data() %>% 
     filter(date > input$datesel[1] & date < input$datesel[2])

    },
    ignoreNULL = FALSE)

  output$table1 <- renderTable(withProgress(message = 'loading summary table', value = 0.7, {
    vals$table1 <- selectedDate() %>% 
      group_by(PINNED) %>% 
      summarize(
        Records = n_distinct(record), 
        Specimens = (sum(count, na.rm = TRUE))-(sum(loaned_number, na.rm = TRUE)),  
        Species = n_distinct(species), 
        Hosts = n_distinct(host_or_trap),
        Countries = n_distinct(Country, na.rm = TRUE), 
        Localities = n_distinct(locality),
        Collectors = n_distinct(collector.museum),
        Loans = sum(loaned_number, na.rm = TRUE)
      )
  })
  )}

当我 运行 它说:错误:'closure' 类型的对象不是子集

知道为什么会这样吗?

尝试这样的事情:

data <- eventReactive(updata, {
            updata() %>%
            mutate(date = as.Date(date))
})

它类似于您已有的代码(回复:selectedDate)并且不涉及子集 updata