R Shiny 中的润滑问题
Lubridate problems in R Shiny
我对 R shiny 有疑问。我写了一个 R shiny 应用程序,它可以做各种事情,它做的事情之一是使用下面的 Lubridate 函数
df$UTCTime <- dmy_hms(df$UTCTime)
# note that this error cannot be fixed by using df[,2] instead of the "$" operator, as I have already tried this
这行代码在 base R 中运行良好,但是在我的 R shiny 应用程序中,它将输出日期作为看似随机的数字序列提供,就像这样
date <- dmy_hms(07/02/2019 22:03:21.714)
# this gives the output date = 1549577001.71
我最近在我的 Shiny 应用程序中引入了一个功能,它导致了一大堆问题,当您 运行 在普通 R 脚本中使用该功能时,这些问题不会出现,我相信大多数他们可以追溯到这个问题。
如有任何帮助,我们将不胜感激!
这是我的代码的简化版本,它会产生相同的错误(没有实际错误,只是所有日期都转换为类似 1549577001.71 的日期)。
library(shiny)
library(lubridate)
converter <- function(input_data){
df <- input_data
df$Date <- dmy_hms(df$Date)
return(df)
}
ui <- fluidPage(
sidebarLayout(
sidebarPanel(),
mainPanel(
tableOutput("contents")
)
)
)
server <- function(input, output) {
output$contents <- renderTable({
Date <- c("07/02/2019 22:03:21.714")
df <- data.frame(Date)
converter(df)
})
}
shinyApp(ui, server)
1549577001 是 POSIXct
日期时间对象(自 1970 年以来的秒数)的内部表示。
一种解决方案是将日期输出为 character
:
library(shiny)
library(lubridate)
converter <- function(input_data){
df_ <- input_data
df_$Date <- as.character(dmy_hms(df_$Date))
return(df_)
}
ui <- fluidPage(
sidebarLayout(
sidebarPanel(),
mainPanel(
tableOutput("contents")
)
)
)
server <- function(input, output) {
output$contents <- renderTable({
Date <- c("07/02/2019 22:03:21.714")
df <- data.frame(Date)
converter(df)
})
}
shinyApp(ui, server)
我对 R shiny 有疑问。我写了一个 R shiny 应用程序,它可以做各种事情,它做的事情之一是使用下面的 Lubridate 函数
df$UTCTime <- dmy_hms(df$UTCTime)
# note that this error cannot be fixed by using df[,2] instead of the "$" operator, as I have already tried this
这行代码在 base R 中运行良好,但是在我的 R shiny 应用程序中,它将输出日期作为看似随机的数字序列提供,就像这样
date <- dmy_hms(07/02/2019 22:03:21.714)
# this gives the output date = 1549577001.71
我最近在我的 Shiny 应用程序中引入了一个功能,它导致了一大堆问题,当您 运行 在普通 R 脚本中使用该功能时,这些问题不会出现,我相信大多数他们可以追溯到这个问题。
如有任何帮助,我们将不胜感激!
这是我的代码的简化版本,它会产生相同的错误(没有实际错误,只是所有日期都转换为类似 1549577001.71 的日期)。
library(shiny)
library(lubridate)
converter <- function(input_data){
df <- input_data
df$Date <- dmy_hms(df$Date)
return(df)
}
ui <- fluidPage(
sidebarLayout(
sidebarPanel(),
mainPanel(
tableOutput("contents")
)
)
)
server <- function(input, output) {
output$contents <- renderTable({
Date <- c("07/02/2019 22:03:21.714")
df <- data.frame(Date)
converter(df)
})
}
shinyApp(ui, server)
1549577001 是 POSIXct
日期时间对象(自 1970 年以来的秒数)的内部表示。
一种解决方案是将日期输出为 character
:
library(shiny)
library(lubridate)
converter <- function(input_data){
df_ <- input_data
df_$Date <- as.character(dmy_hms(df_$Date))
return(df_)
}
ui <- fluidPage(
sidebarLayout(
sidebarPanel(),
mainPanel(
tableOutput("contents")
)
)
)
server <- function(input, output) {
output$contents <- renderTable({
Date <- c("07/02/2019 22:03:21.714")
df <- data.frame(Date)
converter(df)
})
}
shinyApp(ui, server)