Мой файл представляет собой один набор игровых данных, и 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)