R闪亮错误:eval错误

时间:2016-02-03 14:41:32

标签: r ggplot2 shiny

我正在尝试创建一个闪亮的应用程序,可以过滤制造商。但是它给我一个错误,即找不到对象。

我应该能够选择cyl和displ。然后键入audi,以便绘图仅显示奥迪的点。

这是服务器代码。

server.R

library(shiny)
library(ggplot2)

function(input, output) {
dataset<-reactive({mpg})
dataset1<-reactive({
  x<-input$x
  y<-input$y
  data<-dataset 
   if (!is.null(input$z) && input$z != "") {
     z <- paste0("%", input$z, "%")
     data <- data + filter(manufacturer %like% z)
   }
 })

output$plot <- renderPlot({

  p <- ggplot(dataset1(), aes_string(x=input$x, y=input$y))+geom_point()

print(p)

   }, height=700)

}

和ui代码 的 ui.R

library(shiny)
library(ggplot2)

dataset <- mpg

fluidPage(

  titlePanel("Manufacturer"),

   sidebarPanel(


    selectInput('x', 'X', names(dataset)),
    selectInput('y', 'Y', names(dataset), names(dataset)[[3]]),
    textInput('z','manufacturer name contains')
 ),

 mainPanel(
  plotOutput('plot')
 )
)

这是我收到的错误:警告:eval错误:找不到对象'制造商'

任何人都可以帮忙吗?谢谢!

1 个答案:

答案 0 :(得分:1)

如果您使用以下代码替换server.R,我认为您将获得所需内容。

library(shiny)
library(ggplot2)

library(dplyr)


function(input, output) {
    dataset <- mpg

    dataset1<-reactive({

        data<-dataset 

        if (!is.null(input$z) && input$z != "") {
            data <- filter(data, manufacturer == input$z)
        } 
        data
    })

    output$plot <- renderPlot({

       ggplot(dataset1(), aes_string(x=input$x, y=input$y))+geom_point()

    }, height=700) 
}