R не может найти shell.exec (Mac OSX)

#r #macos #shell #unix

#r #macos #оболочка #unix

Вопрос:

Я новичок в R и RStudio; использую их в Mac OSX 10.15.7. Я пытаюсь запустить написанную пользователем программу для выполнения некоторой статистики и вывода результатов в предварительно организованную таблицу Excel, которая визуализирует их определенным образом.

Программа не работает на моей машине, но, по-видимому, работает на машине автора программы (я говорил с ними).

Когда я запускаю программу, я получаю следующую ошибку:

 Unable to find any JVMs matching version "(null)".
No Java runtime present, try --request to install.
[1/2] Analysing proc traj outcomes
[2/2] Writing output file
Error in shell.exec(output_file) : could not find function "shell.exec"
  

Я искал в синтаксисе упоминания о shell.exec и нашел следующее:

  step <- step   1
        cat(paste0("[", step, "/", total, "] Writing output filen"))
        if (xlsx_output){
                create_excel(bic_df, prob_df)
                if (open_file){
                        shell.exec(file.path(output_file))
                }
        } else{
                create_txt(bic_df, prob_df)
                if (open_file){
                        shell.exec(output_file)
                        shell.exec(output_txt)
                }
        }
  

Я прошу прощения за новичок в вопросе. Приветствуются любые советы.

Спасибо

Ответ №1:

shell.exec это команда только для Windows в R. Ближе всего к shell.exec(x) macOS system2("open", x) . Однако то, что происходит при его запуске, может отличаться, поскольку это зависит от ассоциаций файлов в системе, поэтому не гарантируется, что он будет точным эквивалентом.