2010-05-22 2 views
2

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

Например: несколько модулей 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. Я использовал «систему», прежде чем запускать скрипты perl для выполнения задач, не требуя захвата вывода консоли.

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

Спасибо

ответ

3

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

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

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

+0

Я включил команду создания файла в Perl-скрипте, который я хочу вызвать из R. Perl вызывается и файл создается, но я не получаю вывод на печать в консоли R, но вместо этого 'character (0) ' – harshsinghal

+0

Мой пример работает в Win XP, а не в Win 7 – harshsinghal

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