Я работаю с формами Google, чтобы создать форму подписки. Поскольку вопрос типа «дата», используемый в формах Google, немного сбивает с толку людей, мало знакомых с технологиями (люди, которые собираются подписаться, относятся к группе риска), я решил разделить год, месяц и день рождения на триразличные вопросы, а затем объединить, используя as.Date. Я бы загрузил файл .csv, сгенерированный формами Google, используя fileInput и renderTable для отображения данных.
Этот код отлично работает в консоли
# 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
Но когда я применяю этот код кдата возвращает число, а не дату. Я пытался использовать lubridate и использовать «as.character» вместо «paste». Я попытался использовать функцию «origin» в as.Date, а также параметр POSIXc. Получил тот же результат.
Я действительно не могу использовать вопрос о дате в формах, потому что людям трудно заполнить анкету и постоянно вводят неправильную дату рождения.
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")
)
)
))
SERVER
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
})
})
Что мне делать?