Добрый день
Я пытаюсь изобразить средние и 95% доверительные интервалы для моей блестящей веб-страницы, но я не могу понять, как это правильно.
Я хотел бы, чтобы результат был похож на это
Я попробовал два метода
- Использование geom_errorbar Здесь я попытался создать сводную таблицу, которая рассчитывает 95% -й CI, а затем строит график оттуда , Мой код следует
ui <- fluidPage(
titlePanel("questionnaire"),
sidebarLayout(
sidebarPanel(
selectInput("question", "Choose a question",
colnames(Data[,3:(ncol(Data)-1)]))
),
mainPanel(
plotOutput("meanCI")
)
)
)
server <- function(input, output) {
ci <- reactive({
groupwiseMean(input$question ~ Date,
data = Data,
conf = 0.95,
digits = 3)
})
output$meanCI <- renderPlot(
ggplot(ci, aes(x=Date, y=Mean)) +
geom_errorbar(aes(ymin=Trad.lower, ymax=Trad.upper), width=.1) +
geom_point()
)
}
shinyApp(ui = ui, server = server)
Но он дает мне эту ошибку:
data
должен быть фреймом данных или другим объектом, который может быть изменен с помощью fortify()
, а не объект S3 с классом реактивныйExpr / реактивный
Вариант 2 заключался в использовании plotmeans из пакета
gplot
ui <- fluidPage(
titlePanel("questionnaire"),
sidebarLayout(
sidebarPanel(
selectInput("question", "Choose a question",
colnames(Data[,3:(ncol(Data)-1)]))
),
mainPanel(
plotOutput("meanCI")
)
)
)
server <- function(input, output) {
output$meanCI <- renderPlot(
plotmeans(input$question~Data$Date, connect = FALSE)
)
}
shinyApp(ui = ui, server = server)
Но в результате возникает эта ошибка,
переменной длины отличаются (найдено для ' Данные $ Дата ')
Любая помощь будет принята с благодарностью!