Я пытаюсь создать приложение R, используя shiny
. Он состоит из sliderInput
, который позволяет пользователю выбирать дату (минимальную и максимальную дату) для подмножества данных, которые будут отображаться в виде гистограммы ggplot.Проблемы с подмножеством data.frame с daterange для блестящего вывода ggplot
У меня возникают проблемы с получением входных значений для подмножества data.frame, который затем будет использоваться для построения графика. У меня есть коды подмножества с помощью элемента управления R, и он генерирует правильные данные, однако моя попытка использовать входные значения в качестве ограничивающего фактора приводит меня к проблемам при попытке запустить его в приложении.
моих кодов выглядит следующим образом:
ui.R заявил
library(shiny)
#define shiny UI
shinyUI(fluidPage(
titlePanel("Life Span"),
sidebarLayout(
sidebarPanel(
sliderInput("days",
"Duration:",
min = start,
max = last,
value = c(start,last),
timeFormat = "%F %T")
),
mainPanel(
plotOutput("timeline")
)
)
))
server.R
library(shiny)
library(RMySQL)
library(quantmod)
library(ggplot2)
shinyServer(function(input, output) {
#here i create function to scope data
getDataSubSet <- function(dataFrame, column2Filter, rangeStart, rangeEnd){
rangeStart1<-strptime(rangeStart,format = "%Y-%m-%d %H:%M:%S")
rangeEnd1<-strptime(rangeEnd,format = "%Y-%m-%d %H:%M:%S")
dataFrame[dataFrame[column2Filter] >= rangeStart1 & dataFrame[column2Filter] <= rangeEnd1,]
}
output$timeline <- renderPlot({
#to create reactive data....
Candy_Sales_Working <- reactive({
getDataSubSet(Candy_Sales, "Sales_date", input$days[1], input$days[2])
})
ggplot(Candy_Sales_Working(), aes(Candy_Sales_Working()[candyType])) +
geom_bar(stat="count")
})
})
global.R
library(RMySQL)
con <- dbConnect(RMySQL::MySQL(), user = "user", password = "pw", dbname = "candy",
host = "candy.com", port = ....)
Candy_Sales = dbGetQuery(conn = con, statement = "Select * from candy_sales")
Candy_Sales <- transform(Tape_Span,
Sales_Date = as.POSIXlt(strptime(Sales_Date, "%Y-%m-%d %H:%M:%S")))
Candy_Sales_Working <- Candy_Sales
start = strptime(min(Candy_Sales$Sales_Date), format = "%Y-%m-%d %H:%M:%S")
last = strptime(max(Candy_Sales$Sales_Date), format = "%Y-%m-%d %H:%M:%S")
candy_types = unique(Candy_Sales$candyType)
ошибка сравнение эти Типы не реализована
жаль, что я забыл стат ошибку, это «сравнение этих типов не реализуется» – sohbk
В строке 'ggplot' кажется, что это должно быть' ggplot (Tape_Span_Working(), aes ... ' –
Это опечатка при передаче кода здесь, спасибо, указав его – sohbk