Это мой первый вопрос, здесь, пожалуйста, простите меня, если я слишком смутно или неясно. Я запускаю скрипт в 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 на моем компьютере без проблем.
Любые идеи?
Как вы используете этот скрипт? Вы используете RStudio? – Geovany
Да, я использую студию R R версия 3.2.4 (2016-03-10) Платформа: x86_64-apple-darwin13.4.0 (64-разрядная версия) Выполняется под: OS X 10.10.5 (Yosemite) – Kevin