Как изменить серверную часть этих строк кода, чтобы заставить его работать?

#r #data-analysis

#r #анализ данных

Вопрос:

Я всего лишь начинающий пользователь R, поэтому это может быть очень простой проблемой.

Итак, у меня есть этот код. Вопрос в том, что я должен написать на стороне сервера, чтобы заставить его работать? Потому что в моей версии я могу выбрать другой континент с третьей selectInput функцией, но это никак не влияет на график, а также замораживает мой компьютер. Заранее благодарю вас за помощь!

 shinyUI(fluidPage(
  titlePanel("Bar Chart"),
  
  sidebarLayout(
    sidebarPanel(
      widht=2,
      selectInput("xaxis","Select the value for X Axis",colnames(data2),selected = "countriesAndTerritorities"),
      selectInput("yaxis","Select the value for Y Axis",colnames(data2),selected = "cases"),
      selectInput("filter","Selec filter",choices = data2$continentExp)
    ),
    mainPanel(
      plotOutput("bar"),
      width = 20
    )
  )
))
shinyServer(function(input,output){
  data2 %>% filter(continens==data2$continentExp)
  output$bar <- renderPlot({
    bar2 <- tapply(data2[,input$yaxis],list(data2[,input$xaxis]),sum)
    barplot(bar2,beside=input$sidebar,las=2)
  })
})
 

Эта строка кода, возможно, бесполезна, но я не знал, как изменить серверную часть.

 data2 %>% filter(continens==data2$continentExp)
 

данные:

 structure(list(dateRep = c("01/12/2020", "30/11/2020", "29/11/2020", 
"28/11/2020", "27/11/2020", "26/11/2020", "25/11/2020", "24/11/2020", 
"23/11/2020", "22/11/2020", "21/11/2020", "20/11/2020", "19/11/2020", 
"18/11/2020", "17/11/2020", "16/11/2020", "15/11/2020", "14/11/2020", 
"13/11/2020", "12/11/2020"), day = c(1L, 30L, 29L, 28L, 27L, 
26L, 25L, 24L, 23L, 22L, 21L, 20L, 19L, 18L, 17L, 16L, 15L, 14L, 
13L, 12L), month = c(12L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 
11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L), 
    year = c(2020L, 2020L, 2020L, 2020L, 2020L, 2020L, 2020L, 
    2020L, 2020L, 2020L, 2020L, 2020L, 2020L, 2020L, 2020L, 2020L, 
    2020L, 2020L, 2020L, 2020L), cases = c(272L, 0L, 228L, 214L, 
    0L, 200L, 185L, 246L, 252L, 154L, 232L, 282L, 0L, 383L, 65L, 
    163L, 205L, 66L, 360L, 146L), deaths = c(11L, 0L, 11L, 15L, 
    0L, 12L, 13L, 17L, 8L, 12L, 25L, 5L, 0L, 13L, 6L, 9L, 12L, 
    10L, 14L, 4L), countriesAndTerritories = c("Afghanistan", 
    "Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan", 
    "Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan", 
    "Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan", 
    "Afghanistan", "Afghanistan", "Afghanistan", "Afghanistan", 
    "Afghanistan", "Afghanistan", "Afghanistan"), geoId = c("AF", 
    "AF", "AF", "AF", "AF", "AF", "AF", "AF", "AF", "AF", "AF", 
    "AF", "AF", "AF", "AF", "AF", "AF", "AF", "AF", "AF"), countryterritoryCode = c("AFG", 
    "AFG", "AFG", "AFG", "AFG", "AFG", "AFG", "AFG", "AFG", "AFG", 
    "AFG", "AFG", "AFG", "AFG", "AFG", "AFG", "AFG", "AFG", "AFG", 
    "AFG"), popData2019 = c(38041757L, 38041757L, 38041757L, 
    38041757L, 38041757L, 38041757L, 38041757L, 38041757L, 38041757L, 
    38041757L, 38041757L, 38041757L, 38041757L, 38041757L, 38041757L, 
    38041757L, 38041757L, 38041757L, 38041757L, 38041757L), continentExp = c("Asia", 
    "Asia", "Asia", "Asia", "Asia", "Asia", "Asia", "Asia", "Asia", 
    "Asia", "Asia", "Asia", "Asia", "Asia", "Asia", "Asia", "Asia", 
    "Asia", "Asia", "Asia"), Cumulative_number_for_14_days_of_COVID.19_cases_per_100000 = c(6.96077208, 
    6.41663317, 6.8451097, 6.78464983, 6.39560365, 7.34193218, 
    7.1999829, 6.71367519, 6.655844, 6.20370926, 6.13010593, 
    5.6727138, 5.03657073, 5.35464227, 4.57392123, 4.65278194, 
    4.57129254, 4.23219148, 4.47140231, 3.84840269)), row.names = c(NA, 
20L), class = "data.frame")
 

Комментарии:

1. Я разбираюсь в filter том, что вам нужно == input$filter . Можете ли вы показать несколько строк data2 with dput , чтобы его можно было протестировать. Кроме того, в «боковой панели» нет ввода UI , и некоторые значения имеют опечатки widht , должны быть width

2. Я просто добавил изображение своих данных в описание

3. Проблема с изображением заключается в том, что мы не можем скопировать эти данные для тестирования. Можете ли вы использовать dput(head(yourdata, 20))

4. data2 %>% filter(...) это неиспользуемый вызов: он не только находится в неправильном месте для блестящего сервера (он должен быть внутри реактивного компонента, верно?), Но вы также не фиксируете его выходные данные / результаты.

5. я думаю, что я добавил необходимые данные.