2016-10-03 5 views
1

이 반짝이는 응용 프로그램을 게시하는 데 약간의 문제가 있습니다. 내 질문에 대해서는, 나는 생각하지 않는다. R은 관련이있다. 여기 server.R입니다 :반짝이 응용 프로그램과 MySQL 데이터베이스 연결

library(shiny) 
library(RMySQL) 
library(tidyverse) 
library(colorspace) 
library(ggplot2) 

###  CONNECT AND QUERY THE DATABASE 

### uncomment the next line to reconnect to server & re-query the database 

source("http://www.mvabl.com/Dashrock/MySQL_connect_query.R") 

con <- dbConnect(MySQL(), 
    user = 'shiny_apps', 
    password = '####', 
    host = 'mysql.mvabl.com', 
    dbname='sandbox191') 

qmain <- dbSendQuery(con, "SELECT * FROM sizes;") 

sizes <- as.data.frame(dbFetch(qmain,n=-1),na.rm=TRUE) 

###  GENERATE GGPLOT 

colors17 <- c("#9D8FAC","#8E96B0","#7F9BB0","#71A0AD","#67A5A7","#63A89E","#64AB94","#6BAC88","#77AD7B","#85AD70","#94AC66","#A4AA5F","#B5A75B","#C4A35B","#D39F5F","#DF9C67","#E99872") 

colors6 <- c("#9D8FAC","#6FA1AC","#66AB8F","#8EAC6A","#C1A45A","#E99872") 

sizes$Size_Cat <- factor(sizes$Size_Cat, 
         levels = c("n1_4","n5_9","n10_19", 
            "n20_49","n50_99","n100_249", 
            "n250_499","n500_999","n1000", 
            "n1000_1","n1000_2","n1000_3", 
            "n1000_4")) 
sizes$market <- factor(sizes$market, 
         levels = c("NYC","LA","CHI","DC","SF","BOS")) 
sizes <- sizes %>% 
    filter(market %in% c("NYC","SF"), 
     Size_Cat %in% c("n50_99","n100_249","n250_499")) 

shinyServer(function(input, output) { 

    output$plot <- renderPlot({ 

    g <- ggplot(sizes) 
    g + geom_bar(stat = "identity", 
       position = "dodge", 
       aes_string(x=input$x, y=input$y)) 
    if (input$color != 'None') 
    g <- g + aes_string(color=input$color) 

    facets <- paste(input$facet_row, '~', input$facet_col) 
    if (facets != '. ~ .') 
     g <- g + facet_grid(facets) 

     g <- g + scale_fill_manual (values=colors17) 
     g <- g + facet_wrap(~ input$facet_row) 
     g <- g + labs(y = "Number of Companies", title = "Market Structure") 
     g <- g + theme(strip.text.x = element_text(size = 8), 
      axis.text.x = element_text(angle=90, size=6)) 

    if (input$jitter) 
     g <- g + geom_jitter() 
    if (input$smooth) 
     g <- g + geom_smooth() 

    print(g) 

    }, height=700) 

})  
dbHasCompleted(qmain) 
dbClearResult(qmain) 
dbDisconnect(con) 

내가 얻을 결과는

내가 로컬 정확한 동일한 코드를 실행할 때 일이지만, 을하지 않고 "개체를 찾을 수 없습니다 '크기'"입니다 반짝 이는 부분, 나는 예상 결과를 얻을. 여기에 그 코드는 다음과 같습니다

library(RNeo4j) 
library(tidyverse) 
library(stringr) 
library(MASS) 
library(RColorBrewer) 
library(colorspace) 

### uncomment the next 2 lines to reconnect to server & re-query the database 
setwd("~/Desktop/Dashrock/") 
source("http://www.mvabl.com/Dashrock/MySQL_connect_query.R") 

colors17 <- c("#9D8FAC","#8E96B0","#7F9BB0","#71A0AD","#67A5A7","#63A89E","#64AB94","#6BAC88","#77AD7B","#85AD70","#94AC66","#A4AA5F","#B5A75B","#C4A35B","#D39F5F","#DF9C67","#E99872") 

colors6 <- c("#9D8FAC","#6FA1AC","#66AB8F","#8EAC6A","#C1A45A","#E99872") 

sizes$Size_Cat <- factor(sizes$Size_Cat, 
         levels = c("n1_4","n5_9","n10_19", 
            "n20_49","n50_99","n100_249", 
            "n250_499","n500_999","n1000", 
            "n1000_1","n1000_2","n1000_3", 
            "n1000_4")) 
sizes$market <- factor(sizes$market, 
         levels = c("NYC","LA","CHI","DC","SF","BOS")) 
sizes <- sizes %>% 
    filter(market %in% c("NYC","SF"), 
     Size_Cat %in% c("n50_99","n100_249","n250_499")) 

g <- ggplot(sizes) 
     g + geom_bar(stat = "identity", 
        position = "dodge", 
      aes(x = market, 
       y = firms, 
       fill = industry), 
      color = "grey") + 
     scale_fill_manual (values=colors17) + 
     facet_wrap(~ Size_Cat) + 
     labs(y = "Number of Companies", title = "Market Structure") + 
     theme(strip.text.x = element_text(size = 8), 
       axis.text.x = element_text(angle=90, size=6)) 

"연결"소스 파일 http://www.mvabl.com/Dashrock/MySQL_connect_query.R에서 웹 (코드 블록 위에서 정확하게 URL)에 공개적으로 볼 수 있습니다,하지만 난 해시 밖으로 PW를했다, 그래서 이것은 실행되지 않습니다. (암호 DB에 대한 암호를 숨기는 방법을 모른다.)

마지막으로, 제 3 자 MySQL 클라이언트 (Sequel Pro & MySQL Workbench) 모두에서 sizes 테이블이 문제없이 나타납니다.

누구든지 문제를 발견 할 수 있습니까? 또는 더 나은 방법은 스스로 진단 할 수있는 방법을 말해주십시오.

들으

+0

g <- ggplot(sizes) 

를 교체하려고? –

+0

아니요. 오류 메시지가 표시된 브라우저 탭에서만 열립니다. 그리고 RStudio에는 오류 정보가 전혀 없습니다. 나는 여러 곳에서'test1 <- "PASSED"'행을 추가하여 코드가 어디에서 파손되었는지를 발견 할 수 있는지 알아 보았습니다. (나는 R에서 어떤 추적 오류 함수도 모른다). 그건 도움이되지 못했습니다. – Steve

+0

http://shiny.rstudio.com/articles/debugging.html이 도움이되는지 확인하십시오. 또한 ui 코드를 게시하면 도움이 될 것입니다 –

답변

3

내가 전에 비슷한 일을 했어. 오류를 줄있는 오류 메시지 쇼가 발생했습니다합니까

g <- ggplot(sizes()) 
+0

고마워요! 그게 효과가 있었어. 나는 결코 그런 생각을하지 못했을 것입니다. – Steve