R Shiny selectInput返回错误对象'输入'未找到

时间:2016-04-20 15:05:26

标签: r shiny

我正在尝试构建一个Shiny应用程序,该应用程序在不同的选项卡中显示随机林的输出。在这里,我只为部分依赖图创建一个标签,以显示我收到的错误。下面是全局,服务器和ui文件的代码。

global.R

library(shiny)
setwd("C:/Users/rcaldwe4/Documents/Monthly Topic/Stackoverflow")

df <- data.frame(x1=sample(1:100,10000,replace=T),
                 x2=sample(1:100,10000,replace=T),
                 x3=sample(1:100,10000,replace=T),
                 y=as.factor(sample(0:1,10000,replace=T)))


train_x <- df[1:5000,-4]
train_y <- df[1:5000,4]
train1 <- data.frame(train_x,y=train_y)

test_x <- df[5001:10000,-4]
test_y <- df[5001:10000,4]

server.R

library(shiny)
library(randomForest)
library(AUC)
library(rpart)
library(lift)

#Define server logic required to output Random Forest
shinyServer(function(input,output){

  rfInput <- reactive({
    randomForest(x=train_x,y=train_y,importance=T,ntree=input$trees,keep.forest = T)
  })

  output$partDep <- renderPlot({
    partialPlot(x=rfInput(), pred.data=train1, x.var=input$select_var, which.class=1)
  })

})

ui.R

library(shiny)

shinyUI(
  fluidPage(
    titlePanel("Random Forest"),
    sidebarLayout(
      sidebarPanel(
        sliderInput("trees",
                    "Number of trees:",
                    min=0,
                    max=1000,
                    value=100,
                    step=50),
        selectInput("select_var", 
                    label = h4("Select variable for partial dependence plot"),
                    choices = names(train1)[1:3], 
                    selected = names(train1)[1])
      ),
      mainPanel(
        tabsetPanel(
          tabPanel("Dependence",
                   plotOutput("partDep"))
        )
      )
    )
  ))

要构建的树数量的滑块输入工作正常。但是,当我尝试让用户为部分依赖图选择变量时,我收到此错误:

Warning: Error in eval: object 'input' not found

我不清楚问题是什么&#39;输入&#39;。我想知道使用&#39;输入&#39;是否存在问题。使用partialPlot函数。任何建议都会很棒。

1 个答案:

答案 0 :(得分:1)

这是 GROUP_CONCAT(CASE WHEN question = 'How old' THEN answer ELSE NULL END) AS `How Old`, GROUP_CONCAT(CASE WHEN question = 'What like' THEN IF(answer='Other', input, answer) ELSE NULL END) AS `What like`, GROUP_CONCAT(CASE WHEN question = 'City' THEN answer ELSE NULL END) AS `City`, GROUP_CONCAT(CASE WHEN question = 'Name' THEN IF(answer='Other', input, NULL) ELSE NULL END) AS `Name` 的问题。这在另一个问题here中得到了解决。唯一的解释是一些绘图函数使用了一些非标准的评估。

如果您将partialPlot中的partDep部分更改为以下内容,则可以:

server.R