2013-06-09 3 views
4

Я использую 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. По крайней мере, так я прочитал сообщение об ошибке.

Надеюсь, это полезно.

+0

Я бы обратил внимание на следующие строки: 10: 43: 20.609: Ошибка в setwd (.cmdargs [4]): недопустимое значение недействительно 10: 43: 20.610: Выполнение остановлено. Выполняется ли ваш скрипт в R? Вы учитываете новую среду в Lyx (нет объектов, если вы не загружаете/не создаете их). –

+0

Я уже вижу два близких голоса (не мои), возможно, потому, что для тестирования не представлен 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 –

+0

Я добавил некоторые пояснения, которые, я надеюсь, обращаются к вашим комментариям. – user2468454

ответ

3

Вы пытались загрузить Rnw-файл в LyX, который еще не поддерживается в LyX 2.0.6. Он должен появиться в LyX 2.1: http://www.lyx.org/trac/ticket/7838

Когда LyX 2,1 отпущена, вы можете импортировать с помощью командной строки:

tex2lyx -n -m knitr stest.Rnw 

Я не уверен, почему LyX нужно вызвать Rscript при импорте файла , Вы можете отправить отчет об ошибке в LyX.

+0

Видя, как я сталкиваюсь с тем же в LyX 2.1 beta2, я полагаю, что эта функция еще не сделала этого? – RoyalTS

+0

@RoyalTS Извините, я понятия не имею. Я еще не тестировал бета-версию 2.1. –

Смежные вопросы