Я создаю shinyapp, где передаю имена переменных в качестве аргументов на сервер с помощью виджета selectInput ().Следующий статический пример иллюстрирует график, который я хочу отобразить:
g <- ggplot(d, aes(y, fill = var1, colour = var1)) +
geom_density(alpha=.2)
Просто для ясности, вот изображение вышеупомянутого графика
Что я хочу сделатьсделать в моем shinyapp, чтобы отделить построенные распределения по различным переменным, которые пользователь может выбрать с помощью selectInput ().Но когда я заменяю var1 в приведенном выше обобщенном аргументе, это не то, что я получаю.Пожалуйста, посмотрите пример:
library(ggplot2)
library(shiny)
d <- data.frame(var1=as.factor(sample(x = 1:4, size = 250, replace = TRUE)),
var2=as.factor(sample(x = 1:4, size = 250, replace = TRUE)),
y=rnorm(250, mean = 0, sd = 1))
nms <- names(d)
ui <- fluidPage(selectInput(inputId ="var", "Variable:",
choices = nms, selected = "var1"),
plotOutput(outputId = "plot")
)
server <- function(input, output) {
g <- ggplot(d, aes(y, fill = input$var, colour = input$var)) +
geom_density(alpha=.2)
output$plot <- renderPlot(g)
}
shinyApp(ui,server)
Фактический вывод, который я получаю, отличается от статического примера Я начал с (нажмите для просмотра изображения).
Может кто-нибудь, пожалуйстауказать на мою ошибку?Благодарен за помощь.