2015-07-28 2 views
0

У меня есть server.R и ui.R скрипт ниже. Это мешает мне дать мне сообщение «Объект» «не найдено», и я понятия не имею, почему. Я убедился, что selectInput назван правильным и таким, но без решения.объект «вход» не найден. r блестящее приложение

SERVER.R

library(shiny) 
library(data.table) 
library(dplyr) 
library(ggplot2) 

shinyServer(function(input, output){ 



selected_data <- reactive({ 

data <- data.table::fread(input="final_master_table.csv",header = TRUE,  data.table = TRUE) 
data <- data[,V1:=NULL] 

velo <- data %>% group_by(input$pitcher_name, input$pitch_type, input$year) %>% summarise(velocity = mean(data$start_speed)) %>% 
    arrange(velocity) 

data2 <- filter(velo,input$pitcher_name) 
data2 <- data2[data2$Year %in% input$year,] 
return(data2) 
}) 

output$pitcher_bar <- renderPlot(

ggplot(selected_data(), aes(x = input$year, y = selected_data()$velocity, group = input$pitch_type, color = input$pitch_type)) + 
    geom_line(aes(linetype=input$pitch_type), size=1) + geom_point(size=3, fill="white") + 
    xlab("Year") + ylab("Velocity") + ggtitle("Velocity") + theme_bw() 

) 


}) 

Тогда вот UI.R:

UI.R 

library(shiny) 
library(data.table) 
library(dplyr) 
library(ggplot2) 

shinyUI(fluidPage(

titlePanel("Boxplot of MLB Pitcher Attributes"), 

sidebarLayout(

sidebarPanel(

# Slider for setting year parameter 

sliderInput("year", 
      "year:", 
      min=2008,max=2015,value=c(2008,2015) 
      ), 

selectInput("pitcher_name","Pitcher Name:", choices = unique(data$pitcher_name)), 

selectInput("pitch_type","Pitch Type:", choices = unique(data$pitch_type)), 

helpText("Please wait 30 seconds for 2008 to 2015 pitchFx data to load") 

), 

mainPanel(plotOutput("pitcher_bar")) 

))) 
+0

Просто интересно, почему это не было возможно использовать 'data.table' для группировки операции. – user227710

ответ

3

Это выглядит проблема в group_by где вы хотите стандартную версию оценки, group_by_.

Попробуйте

group_by_(.dots=c(input$pitcher_name, input$pitch_type, input$year))