Я застреваю, пытаясь получить даты, чтобы появиться в блестящем столе. Я провел некоторое исследование и увидел, что в прошлом xtable
не работает красиво с Shiny. На вопрос о том, как справиться с этой проблемой, есть пара вопросов. Очередную ссылку можно найти здесь R: xtable and dates.Как вы получаете даты для отображения в формате даты при работе с блестящей таблицей?
Моя проблема в том, что 1) Я чрезвычайно новичок в программировании в Shiny и используя xtable
. 2) Я не знаком с использованием POSIXct. 3) Я не понимаю решение, указанное в ссылке выше.
Просьба предоставить помощь для базового кода ниже. Идея состоит в том, что кто-то будет использовать это приложение для ежедневного ввода данных. Эти данные будут храниться на .csv. При сохранении на .csv сохраняется только числовое значение даты R. Это то, что появляется и на Блестящем столе. Пожалуйста, научите меня правильно форматировать как в таблице, так и в файле .csv.
Прежде чем приступить к рассмотрению приведенного ниже кода, знайте, что будет храниться файл .csv, который будет иметь дату заголовка, A, B. Давайте будем называть этот файл «log», и он будет храниться локально. Вот код:
library(shiny)
log <- read.table("V:\\My\\Path\\log.csv",sep=",",header=T)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(width=2,
#Enter Date
dateInput("date","Date",min="2016-07-04", max = "2017-07-04"),
#Enter Combo
selectInput(inputId = "a", "A", c("Choose one" = "","A1", "A2", "A3"), multiple = FALSE, selectize = TRUE, width = NULL, size = NULL),
#Enter Number
numericInput(inputId = "b", "Favorite Number", NULL, min = 0, max = NA),
#Enter Submit to write info to file
actionButton(inputId = "submit", "Submit", icon = NULL, width = NULL)
),
mainPanel(
# Application title
titlePanel("Read Date"),
tableOutput("summary"))
)
)
server <- function(input, output) {
#Create vector of current trial results
data <- eventReactive(input$submit, {
cbind(input$date,input$a, input$b)
})
#Append current trial results to master list
observeEvent(input$submit, {
write.table(data(), file="V:\\My\\Path\\log.csv", sep=",", col.names= FALSE, row.names=F, append = T)
})
#Create datatable variable reading in latest log
datatable <- eventReactive(c(input$agent,input$submit), { #Putting both reactive variables allow to see dataset without running and see updated dataset after running.
data.frame(read.table("V:\\My\\Path\\log.csv",sep=",",header=T))
})
#Create Table
output$summary <- renderTable({
datatable() }, digits=2,align = "cccc")
}
shinyApp(ui = ui, server = server)
Похоже, что ответ заключается в том, чтобы писать как символ в файл журнала и читать его обратно в качестве символа. Я не могу этого сделать. Я на правильном пути? Поскольку я учусь, я буду принимать любые другие предложения о том, как улучшить код.