Текст, который должен быть написан, должен быть вектором длины одна при попытке передать даты в dateRange (), введенном в глянцевый - PullRequest
0 голосов
/ 16 марта 2020

У меня есть датафрейм ниже с некоторыми объектами даты и времени, и я хочу извлечь только части даты, чтобы поместить их во вход dateRange(). Но когда я запускаю приложение, я получаю:

ERROR: Text to be written must be a length-one character vector

Я пытался использовать c() до df $ EventaDate, но безрезультатно.

require(lubridate)
require(dplyr)

df = data.frame(timestring = c("2015-12-12 13:34:56", "2015-12-14 16:23:32"),
                localzone = c("America/Los_Angeles", "America/New_York"), stringsAsFactors = F)

df$moment = as.POSIXct(df$timestring, format="%Y-%m-%d %H:%M:%S", tz="UTC")

df = df %>% rowwise() %>% mutate(localtime = force_tzs(moment, localzone))

df$moment<-as.Date(df$moment, "%Y-%m-%d")



## app.R ##
library(shiny)
library(shinydashboard)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(
    dateRangeInput('dateRange',
                   label = 'Date range input: yyyy-mm-dd',
                   start = df$moment , end = df$moment 
    )
  ),
  dashboardBody()
)

server <- function(input, output) {


}

shinyApp(ui, server)

1 Ответ

1 голос
/ 16 марта 2020

Вы передаете оба значения, где требуется только одно, см. min и max:

require(lubridate)
require(dplyr)

df <- data.frame(timestring = c("2015-12-12 13:34:56", "2015-12-14 16:23:32"),
                localzone = c("America/Los_Angeles", "America/New_York"), stringsAsFactors = F)

df$moment <- as.POSIXct(df$timestring, format="%Y-%m-%d %H:%M:%S", tz="UTC")

df <- df %>% rowwise() %>% mutate(localtime = force_tzs(moment, localzone))

df$moment <- as.Date(df$moment)

## app.R ##
library(shiny)
library(shinydashboard)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(
    dateRangeInput('dateRange',
                   label = 'Date range input: yyyy-mm-dd',
                   start = min(df$moment) , end = max(df$moment)
    )
  ),
  dashboardBody()
)

server <- function(input, output) {}

shinyApp(ui, server)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...