2013-06-22 6 views
3

나는 반짝이는 + gridSVG로 앱을 만들려고합니다. 이 문제는 끊임없이 발생했으며 그것에 대해 전혀 알지 못합니다.grobToDev.default (gTree, dev)에 오류가 있습니다.

내 server.R는 :

<script> 
var networkOutputBinding = new Shiny.OutputBinding(); 
$.extend(networkOutputBinding, { 
    find: function(scope) { 
     return $(scope).find('.shiny-network-output'); 
    }, 
    renderValue: function(el, data) { 
      $(el).html(data.join(''));  
    } 
    }); 
    Shiny.outputBindings.register(networkOutputBinding, 'timelyportfolio.networkbinding'); 

</script> 

그리고 콘솔의 오류 메시지는 다음과 같습니다 :

Error in grobToDev.default(gTree, dev) : We shouldn't be here! 

은 하나가 이유를 알고 있습니까

library(grid) 
library(lattice) 
library(gridSVG) 

shinyServer(function(input, output) { 

    data = reactive({ 
    inFile = input$file1 
    if (is.null(inFile)) 
     return(NULL) 
    read.csv(inFile$datapath, header=input$header, 
      sep=input$sep, quote=input$quote) 
    }) 

    featurelist = reactive({ 
    return (colnames(data())) 
    }) 

    output$classUI = renderUI({ 
    selectInput("classlabel","Classify by:", featurelist()) 
    }) 


    output$svg.grid = reactive({ 
    dat = data() 
    features = featurelist() 

    #group = dat[,c(which(features == input$classlabel))] 
    subsetted.features = features[-c(which(features == input$classlabel))] 

    #classlabel.level = levels(group) 

    xyplot.out = xyplot(subsetted.features[1] ~ subsetted.features[2]|input$classlabel, 
         data = dat 
         ) 

    tempsvg <- tempfile(fileext=".svg") 
    on.exit(unlink(tempsvg)) 
    gridToSVG(name=tempsvg) 
    svgoutput <- readLines(tempsvg, n=-1) 
    svgoutput 
    }) 

}) 

이 내 JS입니다 ?

답변

0

가 나는 이유에 도움이되지 수 있지만 같은 오류 메시지가 있었고, 다음을 수행하여 그것을 해결 :

  • 끝내기 RStudio를. R의 최신 버전으로
  • 업데이트는 (내 경우에는이 3.2이었다)
  • 다시 시작 RStudio
  • 다시 설치하는 문제는 멀리 갔다

gridSVG 패키지를.

은 BTW : 여기에 깔끔한 재 설치하여 패키지의 방법입니다 http://www.r-bloggers.com/automated-re-install-of-packages-for-r-3-0/

0

나도이 문제를 치는거야 (하지 반짝와 함께, 난 그냥 SVG에 대한 줄거리를 수출하기 위해 노력하고있어), 그리고 왜 그런지는 모르겠지만 내 스크립트에서는 grid.export으로 전화하면 문제가 발생합니다. 내 플롯을 다시 표시하고 대화 형으로 다시 호출하면 정상적으로 실행됩니다. 환경 적 차이가 있습니다.