Я использую Lyx (2.06) для OS X (10.8.3) с R (3.01). Я пытаюсь импортировать файл knitr в Lyx. Lyx может найти Rstudio, но Rscript не работает в команде setwd. Журнал ошибок из Lyx приведен ниже. Любая помощь приветствуется. (Мой первый пост в Stackoverflow Извинения заранее для любого неловкого форматирования..)Ошибка в вызове Lyx для Rscript
10:43:17.114: Importing ~/Documents/Temp/stest.lyx...
10:43:17.122: Rscript --verbose --no-save --no-restore "/Applications/LyX.app/Contents/Resources/scripts /lyxknitr.R" "/Users/wms5f/Documents/Temp/""stest.Rnw" "/Users/wms5f/Documents/Temp/""stest.tex" "/Users/wms5f/Documents/Temp/"
10:43:17.124: running
10:43:17.125: '/Library/Frameworks/R.framework/Versions/3.0/Resources/bin/R --slave --no-restore --no-save --no-restore --file=/Applications/LyX.app/Contents/Resources/scripts/lyxknitr.R --args /Users/wms5f/Docu
10:43:17.126: ments/Temp/stest.Rnw /Users/wms5f/Documents/Temp/stest.tex'
10:43:17.126:
<.snip.>
10:43:18.424:
10:43:18.603: Package `sm', version 2.2-5: type help(sm) for summary information
10:43:20.609: Error in setwd(.cmdargs[4]) : missing value is invalid
10:43:20.610: Execution halted
Running: Rscript --verbose --no-save --no-restore "/Applications/LyX.app/Contents/Resources/scripts/lyxknitr.R" "/Users/wms5f/Documents/Temp/""stest.Rnw" "/Users/wms5f/Documents/Temp/""stest.tex" "/Users/wms5f/Documents/Temp/"
support/Systemcall.cpp (273): Systemcall: 'Rscript --verbose --no-save --no-restore "/Applications/LyX.app/Contents/Resources/scripts/lyxknitr.R" "/Users/wms5f/Documents/Temp/""stest.Rnw" "/Users/wms5f/Documents/Temp/""stest.tex" "/Users/wms5f/Documents/Temp/"' finished with exit code 1
Error: Cannot convert file
An error occurred while running:
Rscript --verbose --no-save --no-restore
"/Applications/LyX.app/Contents/Resources/scripts/lyxknitr.R"
"/Users/wms5f/Documents/Temp/""stest.Rnw"
"/Users/wms5f/Documents/Temp/""stest.tex" "/Users/wms5f/Documents/Temp/"
10:43:55.912: file not imported!
10:43:55.913: (buffer-import knitr)
10:44:04.097: (dialog-show prefs: ⌘,)
Добавлено уточнение:
я, возможно, не очень ясно, в моем первоначальном сообщении. У меня есть файл с именем stest.Rnw, который содержит следующий код: sweave
\documentclass{article}
\begin{document}
Test
\end{document}
Если я пытаюсь импортировать этот файл в Lyx 2.06, используя опцию Import -> Rnw (knitr)
, Lyx генерирует следующую системную команду:
Rscript --verbose --no-save --no-restore "/Applications/LyX.app/Contents/Resources/scripts/lyxknitr.R" "/Users/wms5f/Documents/Temp/""stest2.Rnw" "/Users/wms5f/Documents/Temp/""stest2.tex" "/Users/wms5f/Documents/Temp/"
Эта команда не работает при запуске из командной строки bash, а также из Lyx. Я заметил дополнительные двойные кавычки, но их удаление перед запуском скрипта получает тот же результат. Не похоже, что Rscript способен анализировать 4-й аргумент, который является только каталогом. R никогда не получает синтаксический анализ sweave, потому что он терпит неудачу при первоначальном анализе аргументов, переданных ему Lyx. По крайней мере, так я прочитал сообщение об ошибке.
Надеюсь, это полезно.
Я бы обратил внимание на следующие строки: 10: 43: 20.609: Ошибка в setwd (.cmdargs [4]): недопустимое значение недействительно 10: 43: 20.610: Выполнение остановлено. Выполняется ли ваш скрипт в R? Вы учитываете новую среду в Lyx (нет объектов, если вы не загружаете/не создаете их). –
Я уже вижу два близких голоса (не мои), возможно, потому, что для тестирования не представлен R-код. Я бы хотел увидеть обработанный пример. Возможно, поиск SO для: '[r] [lyx]' будет перемещать вещи? Или посмотрите, работает ли более раннее решение: http://stackoverflow.com/questions/16707907/lyx-cannot-find-knitr-module ИЛИ http://stackoverflow.com/questions/14949036/lyxknitr-code-externalization-with- read-chunkfoo-r-fail –
Я добавил некоторые пояснения, которые, я надеюсь, обращаются к вашим комментариям. – user2468454