我正在尝试将具有日期变量的数据上传到闪亮的应用程序,但是我面临很多问题。这是代码。
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"),
textOutput("text")
)
)
)
server <- function(input, output) {
data1 <- reactive({
req(input$file1)
read.csv(input$file1$datapath,header=input$header,stringsAsFactors=FALSE)
})
newtime<-reactive({as.Date(data1()$time)
})
df <- reactive({subset(data1(), select = -time)
})
data <- reactive({cbind.data.frame(df(),newtime())
})
output$contents <- renderTable({
if (is.null(data()))
return(NULL)
head(data())
})
output$text<-renderPrint({paste("types of variables" ,str(data()),newtime()
[1:6])})
}
shinyApp(ui = ui, server = server)
在应用程序的输出中可以看到,日期变量已转换为负数。我无法通过将字符转换为日期并与加载的数据框绑定的方法来解决此问题。因此,如何使R正确读取带有日期的数据而又不将其识别为字符或因素。我想稍后在此合并的数据框中进行筛选以改进应用程序。
cbind() is changing date formatting
我查看了一下,还尝试了cbind.data.frame
,该方法不起作用。
谢谢。这是输出: