2016-10-19 3 views
0

처음 질문을 올리므로 지나치게 모호하거나 명확하지 않은 경우 용서해주세요. 반짝 이는 응용 프로그램으로 시작하는 R 스크립트를 실행하고 있으며 Windows를 사용하면이 스크립트는 완벽하게 실행됩니다. 그러나 Mac에서는 스크립트가 반짝이는 앱의 특정 명령을 포착하는 것으로 보입니다. 여기 내 스크립트의 최소한의 예가 있습니다. 관련성이 높은 경우 완전한 반짝이 응용 프로그램을 포함 시켰습니다.반짝이는 앱이 끝난 후 R이 오류없이 스크립트를 중지합니다.

library(shiny) 
master_metatable=read.csv('metadata.csv') 

#begin shiny app 
select_tables=runApp(list(
    ui=fluidPage(
    titlePanel("Data Repository v0.01"), 
    fluidRow(
     column(3, 
      checkboxGroupInput("phase_selection", 
        label = "Choose Phase", 
        choices = c("Phase I","Phase II","Phase III"), 
        selected = "Phase I")), 

     column(3, 
      uiOutput("ui")), 

     column(3, 
      actionButton("done","Done")) 

    ) 
), 
    server=function(input,output){ 
    output$ui=renderUI({ 
     tables=unique(master_metatable$measure[which(master_metatable$cohort==input$phase_selection)]) 
     checkboxGroupInput("table_selection", 
        label = "Tables", 
        tables) 
    }) 

    output$text1=renderText({ 
    paste0("You have selected ",input$table_selection) 
    }) 


    observeEvent(input$done, stopApp(list(input$phase_selection, 
               input$table_selection))) 
    } 

)) 
#end shiny app 


#test print 1 
print("test1") 

testcsv=read.csv('metadata.cv') 

#test print 2 
print("test2") 


library(tcltk) 
filepath=tk_choose.dir() 

... 등

내 Mac에서이 스크립트를 실행할 때 그래서 예를 들어, 그것은 반짝 응용 프로그램은, 인쇄 'TEST1'는 다음 testcsv에 읽기 시작하지만 중지 완료됩니다. 그것은 오류나 경고 메시지를 내지 않으며 심지어 ')'또는 무엇인가를 빠뜨린 것을 나타내는 '+'를 제공하지 않습니다. 그냥 멈추고 테이블에서 읽지 않으며 스크립트의 나머지 부분에서는 계속되지 않습니다. 고정되어 있지도 않고 스크립트의 끝 부분에있는 것처럼 작동합니다. 이 스크립트는 스크립트 맨 위에서 가져온 것과 동일한 CSV이므로 구문이나 CSV 파일에 문제가없는 것입니다. 그러나 스크립트의 반짝이는 앱 부분을 먼저 실행 한 다음 나머지 스크립트를 실행하면 모든 것이 완벽하게 작동합니다! 즉, 모든 스크립트를 한꺼번에 실행하면 잡을 수 있습니다. 그러나 반짝이는 앱을 강조 표시하고 실행 한 다음 다른 모든 것을 강조 표시하고 실행하면 작동합니다. 다시 말하지만,이 예외는 Mac에서만 발생합니다 (두 개의 Mac에서 모두 Yosemite를 실행 해 보았습니다).이 스크립트는 Windows (64 비트 및 32 비트)에서 완벽하게 작동합니다.

또한 전체 스크립트를 실행할 때마다 내 Mac에서 앱을 성공적으로 실행하고 CSV로 읽을 수 있지만 나중에 스크립트에서 다른 것을 잡아낼 수 있습니다. 환경과 관련된 명령 (예 : read.csv, read.table, tk_choose.dir) 만 잡는 것 같습니다. 기본 처리 명령에는 아무런 문제가 없습니다. 일단 문제없이 전체 스크립트를 완료 했더라도 다음에 실행할 때 read.csv를 다시 잡았습니다.

또한 문제없이 내 컴퓨터의 R에서 훨씬 까다로운 스크립트를 실행 했으므로이 문제는 내 컴퓨터의 처리 제한과 관련이 없다고 생각합니다.

아이디어가 있으십니까?

+0

어떻게 스크립트를 실행하고 있습니까? RStudio를 사용하고 있습니까? – Geovany

+0

예, R 스튜디오를 사용 중입니다. R 버전 3.2.4 (2016-03-10) 플랫폼 : x86_64-apple-darwin13.4.0 (64 비트) 아래 실행 : OS X 10.10.5 (요세미티) – Kevin

답변

0

나는 결국 GitHub forum에서 대답을 발견했다. RStudio의 뷰어 창과 관련이 있습니다. Mac에서 사용하기 위해 스크립트 시작 부분에 'options (shiny.launch.browser = TRUE)'를 추가하여 내 컴퓨터의 기본 웹 브라우저를 R 대신 뷰어 창으로 사용했습니다.