Как решить «Эстетика должна быть либо длиной 1, либо такой же, как данные» в Shiny - PullRequest
0 голосов
/ 19 мая 2018

Я хотел бы знать, как мне решить эту ошибку:

Эстетика должна быть либо длины 1, либо соответствовать данным (437): x, y

Я пытаюсь создать гистограмму, используя блестящую букву R: я создал два виджета, и если пользователь выберет «IL» в качестве своего выбора, то ось x будет представлять все графства в «IL» (это то, что «x»"переменная для дальнейшего использования)

output$hist <- renderPlot({
# Store x and y values to produce the chart
x <- chart_two_data$county[chart_two_data$state == input$x_var]
y <- chart_two_data[[input$y_var]]

title <- "Number of Population Race in county by State"

# Create ggplot hist
ggplot(data = chart_two_data) +
  geom_bar(mapping = aes(x = x, y = y),
           stat = "identity") +
  ggtitle("Population Number Of Each Race Based On State")
}) 

Это моя диаграмма, организованная из набора данных среднего запада: Data set

1 Ответ

0 голосов
/ 19 мая 2018

Если вы хотите, чтобы input $ x_var предоставлял выбор State, и ввод $ y_var для выбора столбца типа «poptotal» или «area», тогда это решение.Вы должны использовать эту строку для извлечения значения y y<-chart_two_data[,input$y_var].

Вот модифицированный код:

output$hist <- renderPlot({
# Store x and y values to produce the chart
x <- chart_two_data$county[chart_two_data$state == input$x_var]
y<-chart_two_data[,input$y_var]

title <- "Number of Population Race in county by State"

# Create ggplot hist
ggplot(chart_two_data) +
     geom_bar(aes(x = x, y = y),stat = "identity") +
labs(x=paste0("County of State ",input$x_var),y=paste0(input$y_val),title="Population Number Of Each Race Based On State")+
theme(panel.background=element_blank())
}) 

Надеюсь, это поможет!

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