2017-04-05 71 views
0

我一直爲此而沮喪,我沒有得到到能出現趨勢線:R閃亮的ggplot2支持向量機趨勢線

library(shiny) 
ui = pageWithSidebar(
    headerPanel("Twitter Engagement Correlations"), 
    sidebarPanel(
     selectInput("c", label = "Variable:", 
        choices = colnames(dataset)) 
    ), 
    mainPanel(
    plotOutput('plot1') 
) 
) 
server = function(input, output) { 

    reactive({ 
    library(e1071) 
    regressor = svm(Engagements ~ Character.count, 
        data = dataset, 
        type = 'eps-regression') 
    }) 

    output$plot1 = renderPlot({ 
    print(ggplot() + 
     geom_point(aes(x = dataset[,input$c], y = dataset$Engagements), 
       colour = 'red') + 
     geom_line(aes(x = dataset$Character.count, y = predict(regressor, newdata = dataset)), 
        colour = 'blue') + 
     ggtitle('SVR Regression Model') + 
     xlab(input$c) + 
     ylab('Engagements')) 
    }) 
} 
    shinyApp(ui = ui, server = server) 

錯誤代碼「對象‘迴歸’找不到」出現,我不知道如何解決? 在此先感謝您的幫助

回答

0

您的regressor變量未在plot1範圍內定義。您需要命名reactive

getRegressor <- reactive({ 
    library(e1071) 
    svm(Engagements ~ Character.count, 
       data = dataset, 
       type = 'eps-regression') 
}) 

現在,你可以把它定義變量regressorplot1

output$plot1 <- renderPlot({ 
    regressor <- getRegressor() 
    ... 
})