错误:评估错误:参数长度为0。R闪亮1:nrow

时间:2019-06-17 00:20:11

标签: r shiny

我的文件是一组游戏数据,PitchNo告诉游戏的音高。我正在尝试生成游戏中看到的每个击球手音高的图,并且在ggplot函数中标记了PitchNo。我希望我的每个击球员的剧情标记所看到的音高,例如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)

0 个答案:

没有答案