#r #shiny #datatables
Вопрос:
У меня проблема. Когда я визуализирую данные (с помощью вывода данных), построенные из электронной таблицы Google (с помощью DT::renderDataTable), даты отображаются неправильно. Например: в электронной таблице сохраняется 1997/11/05 — Блестящий рендеринг 1997/11/04. Что я мог с этим поделать? Спасибо.
Это мой код:
library(shiny)
# Page
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
),
# Show a plot of the generated distribution
mainPanel(
# Clients
tabItem(
tabName = "clients",
width = 2000,
br(),
box(
h2("Clients"),
width = 2000,
style="height: 520px; display: block;
margin-right: 10px; bottom: 0; overflow-y: hidden;",
br(),
div(dataTableOutput("clients"),
style="overflow-x: scroll;
height: 500px; display: block;"))
)
)
))
# Server
server <- function(input, output, session) {
cdata <- reactive({
googlesheets4::read_sheet('link')
})
output$clients <- DT::renderDataTable(DT::datatable(
cdata(),
options = list(
initComplete = JS(
"function(settings, json) {",
"$(this.api().table().header()).css({'background-color': 'gold',
'color': 'black'});",
"}"),
pageLength = 5, header = TRUE, lengthChange = FALSE),
rownames= FALSE,) %>% formatDate(c(2,4), method = "toLocaleDateString")
)
}
# Run App
shinyApp(ui = ui, server = server)
Комментарии:
1. Это может быть «ошибка» преобразования часового пояса, если разница всего в 1 день. Но, не видя исходных данных и того, что показывает DT, я не могу сказать наверняка. Проверьте, что
cdata
в нем содержится.