我是R和R闪亮的初学者。我想在R shiny中绘制“data_plot”(“data_sum”的子集)。
在R中,以下代码有效。 “开始”和“结束”是决定哪个是“子集”的日期。
date_range<-unique(data_sum$Category)
start<-match("2015-10",date_range)
end<-match("2015-12",date_range)
month_plot<-as.vector(date_range[start:end])
data_plot<-subset(data_sum, data_sum$Category %in% month_plot)
ggplot(aes(x= Category, y= x, group=1), data=data_plot) +
geom_line(colour="red")+
geom_line(aes(y=first_thr), linetype="dashed")+
geom_line(aes(y=second_thr), linetype="dashed")+
ylim(0,600)
根据上面的R代码,我为R shiny编写了以下代码。现在,“开始”和“结束”是来自“ui”的输入。
date_range<-unique(data_sum$Category)
server <- function(input, output) {
start<-reactive({match(input$start_month,date_range)})
end<-reactive({match(input$end_month,date_range)})
month_plot<-reactive({date_range[start():end()]})
data_plot<-reactive({subset(data_sum,data_sum$Month==month_plot())})
output$monthly_sum <- renderPlot({
ggplot(aes(x= Category, y= x, group=1), data=data_plot()) +
geom_line(colour="red")+
geom_line(aes(y=first_thr), linetype="dashed")+
geom_line(aes(y=second_thr), linetype="dashed")+
ylim(0,600)
})
}
但是,我收到了以下错误。你能告诉我如何解决这个问题吗?
Aesthetics must be either length 1 or the same as the data (1): x, y, group