as.Date returns 使用 Shiny 时的数字
as.Date returns number when working with Shiny
我正在使用 google 表单来创建订阅表单。由于google表格中使用的"date"类型问题对于技术接触不多的人来说有点迷惑(要订阅的人都是高危青少年),所以我选择分开年,月和出生日期在三个不同的问题中,然后使用 as.Date 合并。我将使用 fileInput 和 renderTable 上传由 google 表单生成的 .csv 文件以显示数据。
此代码在控制台中完美运行
# read the file from my computer
df <- read_csv("~APAMI/R/base.csv")
colnames(df)<- c("day", "month", "year")
dn <- as.Date(with(df, paste("year", "month", "day",sep="-")), "%Y-%m-%d")
df$dn<-dn
df
但是当我应用此代码使日期闪亮时 returns 是一个数字,而不是日期。
我尝试使用 lubridate 并使用 "as.character" 而不是 "paste" 。我尝试在 as.Date 中使用 "origin" 函数以及 POSIXc 选项。得到了相同的结果。
我真的不能在表格中使用 "date" 问题,因为人们很难填写问卷并且经常输入错误的出生日期。
UI
library(shiny)
library(readr)
library(date)
shinyUI(fluidPage(
titlePanel("Triagem da Inscrição para APAMI"),
sidebarLayout(
sidebarPanel(
fileInput('datafile', 'Base de Dados')
),
mainPanel(
tableOutput("tabela")
)
)
))
服务器
library(shiny)
library(readr)
library(date)
shinyServer(function(input, output) {
output$tabela <- renderTable ({
inFile <- input$datafile
if(is.null(inFile))
return(NULL)
df <- read_csv(inFile$datapath)
colnames(df)<- c("year", "month", "day")
dn <- as.Date(with(df, paste(year, month, day,sep="-")), "%Y-%m-%d")
df$dn<-dn
df
})
})
我该怎么办?
我使用了函数"strftime"。顺便说一句,我使用了 "read.csv" 而不是 "read_csv",因为当 运行 你的代码时我得到了一个错误。
dn <- strftime(paste(df$year, df$month, df$day,sep="-"), "%Y-%m-%d")
我正在使用 google 表单来创建订阅表单。由于google表格中使用的"date"类型问题对于技术接触不多的人来说有点迷惑(要订阅的人都是高危青少年),所以我选择分开年,月和出生日期在三个不同的问题中,然后使用 as.Date 合并。我将使用 fileInput 和 renderTable 上传由 google 表单生成的 .csv 文件以显示数据。
此代码在控制台中完美运行
# read the file from my computer
df <- read_csv("~APAMI/R/base.csv")
colnames(df)<- c("day", "month", "year")
dn <- as.Date(with(df, paste("year", "month", "day",sep="-")), "%Y-%m-%d")
df$dn<-dn
df
但是当我应用此代码使日期闪亮时 returns 是一个数字,而不是日期。 我尝试使用 lubridate 并使用 "as.character" 而不是 "paste" 。我尝试在 as.Date 中使用 "origin" 函数以及 POSIXc 选项。得到了相同的结果。
我真的不能在表格中使用 "date" 问题,因为人们很难填写问卷并且经常输入错误的出生日期。
UI
library(shiny)
library(readr)
library(date)
shinyUI(fluidPage(
titlePanel("Triagem da Inscrição para APAMI"),
sidebarLayout(
sidebarPanel(
fileInput('datafile', 'Base de Dados')
),
mainPanel(
tableOutput("tabela")
)
)
))
服务器
library(shiny)
library(readr)
library(date)
shinyServer(function(input, output) {
output$tabela <- renderTable ({
inFile <- input$datafile
if(is.null(inFile))
return(NULL)
df <- read_csv(inFile$datapath)
colnames(df)<- c("year", "month", "day")
dn <- as.Date(with(df, paste(year, month, day,sep="-")), "%Y-%m-%d")
df$dn<-dn
df
})
})
我该怎么办?
我使用了函数"strftime"。顺便说一句,我使用了 "read.csv" 而不是 "read_csv",因为当 运行 你的代码时我得到了一个错误。
dn <- strftime(paste(df$year, df$month, df$day,sep="-"), "%Y-%m-%d")