Я бы ещё порекомендовал замечательный пакет {tidytext}. Имея опыт работы с {tidyverse} (https://www.tidyverse.org/), очень удобный инструмент для анализа текста.
К тому же имеется общедоступная книга от авторов пакета: www.tidytextmining.com.
Относительно кейса у меня было всё достаточно стандартно. Есть data frame, на строки и ячейки которого накладываются ряд ограничений, очень удобно реализуемые с помощью dplyr. Необходимо написать функцию, которая проверяет выполнение всех ограничений. При выявлении "плохих" элементов необходимо подать какой-то сигнал (ошибку, предупреждение, сообщение) и вывести в консоль отчёт в компактном виде.
Для данной задачи ruler подошёл практически идеально. Конечно, рассматривал и validate, и assertr. Первый на тот момент мне показался немного переусложнённым и не позволял получить необходимый отчёт без особых танцев с бубном. Второй выполнял код очень медленно, потому что вызывал функции проверки чуть ли не построчно (вместо векторизованного варианта при создании правил через dplyr)
Для достаточно удобного совмещения описанных подходов логической валидации могу порекомендовать пакет ruler. Позволяет автоматизировать процесс «анализа конечного результата» после создания «pipe c проведением ряда проверок». В нём правила валидации определяются непосредственно в виде pipe функциональной последовательности, а результаты проверки сохраняются в виде data frame фиксированного формата.
Не самый оригинальный ответ, конечно, но: «Зависит от задачи и умения писать быстрый код».
Неплохие начальные советы можно найти здесь:
— Efficient R Programming: Efficient optimization (и вообще в целом познавательная книга).
— R Inferno (классический подбор основных ошибок при написании кода на R).
Если работа ведётся с «таблицеподобными» данными, которые помещаются в оперативную память и важна именно скорость работы, то можно порекомендовать data.table, хотя я больше предпочитаю dplyr.
К сожалению, судя по всему, пока что это всего лишь слухи. В самом источнике из статьи используются фразы «Очень вероятно, что...» и «Ке Цзе надеется сыграть в октябре...». Более того, там же говорится, что «Демис Хассабис проявил желание пригласить Ке сыграть с АльфаГо, но пока что от него нет никаких признаков возможности этого матча в октябре». Т.к. Демис в данном случае является представителем АльфаГо, это важный нюанс.
Наиболее серьёзным аргументом того, что это слух, является твит самого Хассабиса: twitter.com/demishassabis/status/739832323160563712. В нём говорится о том, что «Вопреки слухам в интернете мы пока ещё не решили, что делать дальше с АльфаГо. Как только определимся, здесь появится официальное объявление».
И всё же в данном матче нельзя, т.к. играется он по китайским правилам, в котором есть правило суперко (фактически «запрещено любое повторение позиции»).
К тому же имеется общедоступная книга от авторов пакета: www.tidytextmining.com.
Спасибо за развёрнутый ответ.
Относительно кейса у меня было всё достаточно стандартно. Есть data frame, на строки и ячейки которого накладываются ряд ограничений, очень удобно реализуемые с помощью
dplyr. Необходимо написать функцию, которая проверяет выполнение всех ограничений. При выявлении "плохих" элементов необходимо подать какой-то сигнал (ошибку, предупреждение, сообщение) и вывести в консоль отчёт в компактном виде.Для данной задачи
rulerподошёл практически идеально. Конечно, рассматривал иvalidate, иassertr. Первый на тот момент мне показался немного переусложнённым и не позволял получить необходимый отчёт без особых танцев с бубном. Второй выполнял код очень медленно, потому что вызывал функции проверки чуть ли не построчно (вместо векторизованного варианта при создании правил черезdplyr)Неплохие начальные советы можно найти здесь:
— Efficient R Programming: Efficient optimization (и вообще в целом познавательная книга).
— R Inferno (классический подбор основных ошибок при написании кода на R).
Если работа ведётся с «таблицеподобными» данными, которые помещаются в оперативную память и важна именно скорость работы, то можно порекомендовать data.table, хотя я больше предпочитаю dplyr.
Наиболее серьёзным аргументом того, что это слух, является твит самого Хассабиса: twitter.com/demishassabis/status/739832323160563712. В нём говорится о том, что «Вопреки слухам в интернете мы пока ещё не решили, что делать дальше с АльфаГо. Как только определимся, здесь появится официальное объявление».