Вызов программных модулей (Java, Perl и т. Д.) Из R - PullRequest
2 голосов
/ 23 мая 2010

Я недавно начал использовать R для задач обработки естественного языка и обнаружил, что многие приложения доступны на Java и Perl (для моих целей).

Например: доступно несколько модулей Perl для определения расстояния между словами с помощью запроса Wordnet. Мне известен пакет R Wordnet, но он не выполняет задачи, которые выполняют эти модули CPAN. Существует множество пакетов Java для NLP, которые я хотел бы использовать из R.

Я знаю rJava, RSPerl, простую системную команду среди прочих, но мне хотелось бы больше примеров того, как я мог бы делать вызовы приложений Java и Perl из R.

Недавно я попытался захватить вывод консоли из сценария perl.

cat( 'print "Hello World\n";',file="hello.pl" )

system(command="c:\\Perl64\\bin\\perl hello.pl")

system(command=paste(Sys.getenv("COMSPEC"),"/c","C:\\Perl64\\bin\\perl hello.pl"))

Ни одна из вышеперечисленных системных команд не показала «Hello World» на консоли R. Ранее я использовал «system» для запуска сценариев perl для выполнения задач, не желая записывать вывод консоли.

Будем весьма благодарны за любые подсказки и перенаправление на другие более обширные источники информации.

Спасибо

1 Ответ

3 голосов
/ 23 мая 2010

Если вы прочитаете help(system), вы должны найти параметр, который нужно изменить. Я верю, но вы увидите, что в Windows немного отличается от того, что у меня в Linux, но рассмотрим

R> system("echo Hello")
Hello 
R> system("echo Hello", intern=TRUE)
[1] "Hello"
R> 

Второй отличается - теперь текст стал символьной переменной в R. Это то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...