首页 > 解决方案 > 在 read_csv 之后在 Shiny 中将数字日期转换为 YMD 时遇到问题

问题描述

您好,我有一个闪亮的应用程序,我从本地机器上传文件。我遇到的一个问题是我的 csv 中的日期转换为 Shiny 中的数字。我试图回溯到日期,但我无法让它回到 YMD 格式。

library(shiny)
library(tidyverse)
ui <- fluidPage(

    sidebarLayout(
        sidebarPanel(
           fileInput("test", "test")
        ),
        mainPanel(
         tableOutput("testtab")
        )
    )
)

server <- function(input, output) {

    data = reactive({
        req(input$test)
        dat = as.data.frame(read_csv(input$test$datapath))
        dat$Date = round(as.numeric(dat$Date),2)
        dat$Date = as.Date(dat$Date)
        return(dat)
    })

    output$testtab <- renderTable({
      data() 
    })
}

shinyApp(ui = ui, server = server)

在此处输入图像描述

我希望“日期”列是 YMD 格式的实际日期。如您所见,我尝试了一些方法,但似乎没有任何效果。

标签: rshiny

解决方案


使用as.character. 这似乎有效

 data = reactive({
    req(input$test)
    dat = as.data.frame(read_csv(input$test$datapath))
    dat = dat %>% mutate_at(vars(Date), list(~as.character(.)))
    return(dat)
  })

在此处输入图像描述


推荐阅读