Ошибка: Ошибка оценки: аргумент длины 0. R Shiny 1: nrow - PullRequest
0 голосов
/ 17 июня 2019

Мой файл представляет собой один набор игровых данных, и PitchNo сообщает высоту игры.Я пытаюсь сгенерировать графики высоты каждого теста, которые можно увидеть в игре, и я пометил PitchNo в функции ggplot.Я хочу, чтобы мой сюжет для каждого теста обозначал видимые высоты, скажем 1-10, но вместо этого он все еще помечает их как PitchNo в игре.

Я добавил Batter$PitchNo <- 1:nrow(Batter) в свой реактивный фильтр.Эта строка кода работает в обычном R, но я не могу найти способ сделать это в приложении Shiny.

library(shiny)
library(tidyverse)
GameDataFile <- read_csv("GameDataFile.csv")
GameDataFile %>% group_by(PitchNo)
playerlist <- sort(unique(GameDataFile$Batter))

ui = fluidPage(
  titlePanel("Title"),
  sidebarLayout(
    sidebarPanel(
      selectInput(
        inputId="Batter1",
        label="Player:",
        choices = playerlist)
    ),
    mainPanel(
      plotOutput("myZone")
    )))

server = function(input, output){
  output$myZone <- renderPlot({
    GameDataFile$PlateLocSide <- (GameDataFile$PlateLocSide * -1)

    newdata <- reactive({
      GameDataFile %>% filter(
      Batter %in% c(input$Batter1),
      Batter$PitchNo <- 1:nrow(Batter)) # Error is here 
    })

    ggplot(data = newdata(), aes(x = PlateLocSide, y = PlateLocHeight)) + 
      xlim(-2.5,2.5) + ylim(0,5) + scale_fill_viridis_c() + geom_point() +
      labs(x = "", y = "") + facet_wrap(~ Batter, ncol = 2) +
      geom_text(aes(label = PitchNo), vjust = -0.5) + theme_bw() +
      theme(strip.text = element_text(size=20, face="bold"))
  }, width=400, height=500)
}

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