филосовский вопрос:
на R одно и тоже действие (допустим джойны) можно сделать несколькими конструкциями языка.
я предпочитаю всегда где можно использовать только Base R
в результате tidy мне не очень то удобен (так как с ним мало наработался)
И вот вопрос:
Как считаете правильно ли отдавать приоритет Базовым конструкциям/методам перед различными библиотеками/вариациями ?
И как Вы работаете в команде где то-то онли Tidy кто то vromm кто то только data.table ?
IMHO неправильно. По множеству совершенно различных причин.
может в обратку? почему правильно?
потому что есть Base - он отлажен по производительности, с него начинается обучение. Есть надстройки типа Tidy которые всего лишь обертки для вызова базовых функций. Английское сообщество мне отвечало примерно так: "использовать Tidy хорошо потому что код читается как текст" хотя набирать символов надо больше ...
1. скорость и лаконичность data.table 2. пайпы и экспорт переменных 3. NSE 4. широчайший спектр функционала tidyverse 5. концепт такой. ядро стабильно, метапрограммирование уходит в библиотеки. исключая библиотеки остаетесь на -10 лет назад.
извините NSE это ? :)
Non Standard Evaluation. В baseR от тоже активно используется
в чате эти темы когда-то давно уже обсуждались и выводы были примерно следующие (если ничего не путаю) - базовый R ОК, но не надо на нем зацикливаться - у вселенной tidyverse есть поклонники / противники, часть вещей - вкусовщина. Объективно плохо то, что постоянно меняются конструкции языка и нет нормальной обратной совместимости, после обновлений один и тот же скрипт просто перестает работать. Частично это лечится доп пакетами, которые фиксируют версии окружения (checkpoint и что-то там еще) - у data.table более крутая learning curve, но он быстрый и более стабильный от версии к версии
Я бы не рассматривал отдельно base R, tidy и data.table. Tidy — это отдельная вселенная, да. А вот data.table очень даже совместим с базовым R в плане синтаксиса. Вроде бы сам автор этого пакета задумывал его как естественное расширение инструментария R в плане обработки датафреймов
да, я тоже data&table считаю базовым ... это просто был пример Спасибо!
Мне тоже ничего ничего мешает за основу юзать data.table, но иногда переходить на base или tydy) менять класс на data.frame или tibble, как правило не приходится
Вот в пайтоне сложнее - там надо всегда менять тип объекта для перехода с datatable на pandas или numpy))
Обсуждают сегодня