Как стать автором
Обновить

Комментарии 11

Сложно делать на R большие интерактивные проекты. Как специфическая считалка, он весьма полезен и прекрасно работает в связке с Python. А вот на RMarkdown в RStudio «подсел» основательно, правда, не все гладко с интеграцией Python'a, но понемногу вроде допиливают.
С интерактивщиной на R есть, конечно, нюансы. Но если с ними разобраться, то можно очень быстро делать красивые, аккуратные и удобные приложения. Markdown в связке с htmlwidgets дает очень большие возможности (и, как правило, предусмотрена интеграция с D3.js), а для всего остального есть shiny.

А есть ещё Graal, который и то, и то умеет (пока не полная совместимость, но прогресс идёт), и который под совместную работу языков заточен. А, и ещё, там очень быстрая реализация R :)

Спасибо! Не знала про существование Graal. Надо обязательно посмотреть.

Добавлю еще способ обращения к R, не только из Python. Пакет plumber помогает быстро создать веб-сервис с REST API.
Из минусов — нет асинхронности. Но недавно наткнулся на пакет promises, при помощи которого в сочетании с future можно писать асинхронные промисы в стиле JS.
Никак руки не дойдут их совместить. Может кто-то уже пробовал? Поделитесь опытом.


Еще интересно, как эффективнее передавать большие таблицы в этом случае. JSON через http или текстовым файлом (csv или feather). Например, в H2O.ai передача данных между клиентом и сервером происходит через текстовый файл (по крайней мере в R API). Есть бенчмарки или каки-то очевидные соображения по этому поводу?

Коллеги, поправьте, если я уже отстал. Для NLP на русском(!) языке приходится юзать лемматизатор от Яндекса, обращаясь к екзешнику через команду system(… Что не очень быстро, а ктому же почти не параллелится. Кроме почти непригодного лемматизатор из tm есть ли какие-то нормальные пакеты?

Для лемматизации русского, на мой взгляд, Яндекс или уже python. Хотя знакомые хвалили относительно недавний пакет R udpipe для этих целей.
Спасибо! Читаю сейчас про него.
Такая засада с udpipe. При попытке параллельного исполнения (ради чего и хотелось его попробовать), возникает ошибка invalid external pointer. Так как внутри самого главного метода создается указатель С++, doParalallel похоже не умеет с такими объектами работать. Но с другой стороны обращение к яндекс mystem по замерам чуть ли не в 10 раз медленнее получается и тоже ни фига не параллелится (так как копии стучатся в один экзешник и толку нет). Поэтому может и получится прирост по скорости, посмотрим…
И, кстати, лемматизатор для русского в этом пакете не совершенный прямо совсем. Почему-то полно опечаток и странных словоформ, в общем, на текущий момент не годится.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий