Честно говоря вроде была, но я её толком не использовал ранее, а Хедли её рассматривал в одной из статей посвященных пререлизу dplyr 1.0.0, и по этой статье был снят один из обзоров.
Если вы сейчас берётесь за активное изучение R, то есть пара хороших, и при этом бесплатных курсов на stepic.org.
Также могу порекомендовать книгу Хедли Викхема "Язык R в задачах науки о данных". В ней довольно подробна описана инфраструктура tidyverse. Если позволяет уровень английского, то она есть в бесплатном онлайн доступе на англ языке — https://r4ds.had.co.nz/. Перевод тоже есть, но платный.
Спасибо за комментарий, рад, что статья оказалась для вас полезной.
А какие задачи планируете решать с помощью R, в какой сфере работаете? Академические исследования, биоинформатика, интернет — маркетинг, или ещё что-то другое?
Спасибо за комментарий, циклы в R, да и в Python вроде тоже, довольно медленные.
Попробуйте вместо циклов в R использовать что то из семества функций apply(), sapply(), lapply(), vapply(). Или пакет purrr.
В pandas тоже есть аналоги, apply(), map(), applymap().
И в теле цикла не используйте операции вертикального объединения типа rbind() и bind_rows(), лучше результат каждой итерации добавлять в заранее определённый список, и по завершению работы цикла привести его уже с помощью того же bind_rows() в табличный вид.
Спасибо.
Про S4 и R6 я отдельную публикацию планирую, просто пока руки не дошли.
Цель этой статьи была упростить миграцию между Python и К в плане синтаксиса, т.е. не столько сравнение языков и их производительности, как миграция между ними.
Можно попробовать тестово через планировщик запустить и принтов добавить, потом глянуть лог как он отображает имена месяцев / дней и т.д..
В принципе проблему кодировки можно решить, например в начало скрипта добавить Sys.setlocale("LC_CTYPE", "russian").
Или на худой конец при сравнение кодировать через iconv().
Я не особо силён в английском, но у них вроде нет склонений, поэтому и сомневаюсь, что какими то стандартными способами это можно в R реализовать, разве что какой то API использовать русскоязычный для склонения.
as.duration создаёт объект класса durations. Который с помощью as.numeric легко переводится в число, равное количеству временных отрезков заданное во втором аргументе.
timeperiodsR это мой пакет, я его в сентябре только опубликовал на CRAN.
Зачем я его написал, потому, что мне надоело копипастить часть кода для определения отчётного периода, в 90% случаев это прошлый месяц или прошлая неделя. И я решил для этого создать удобный пакет.
Потом решил, что удобно будет ещё и проверку периода с фильтрацией добавить, и дописал в пакет несколько операторов.
Если интересно вот ссылка на виньетку, на опечатки в ней прошу пока особо внимания не обращать, в следующей редакции всё исправлю.
Спасибо за комментарий.
Я думал над тем, что бы добавить в эту статью информацию про dbplyr. В любом случае, либо добавлю в сюда эту инфу, либо напишу продолжение отдельной статьёй.
Python вообще язык широкого назначения, т.е. он даёт возможность придумать и написать какой нибудь веб сервис например, есть такое.
А для отправки в BigQuery на R есть пакет Викхема bigrquery)
Нашел в NEWS, ранее
rowwise()присутствовала в пакете, но считалась экспериментальной функцией.Честно говоря вроде была, но я её толком не использовал ранее, а Хедли её рассматривал в одной из статей посвященных пререлизу dplyr 1.0.0, и по этой статье был снят один из обзоров.
Благодарю, уже исправил эту опечатку.
Понял.
Если вы сейчас берётесь за активное изучение R, то есть пара хороших, и при этом бесплатных курсов на stepic.org.
Также могу порекомендовать книгу Хедли Викхема "Язык R в задачах науки о данных". В ней довольно подробна описана инфраструктура
tidyverse. Если позволяет уровень английского, то она есть в бесплатном онлайн доступе на англ языке — https://r4ds.had.co.nz/. Перевод тоже есть, но платный.Спасибо за комментарий, рад, что статья оказалась для вас полезной.
А какие задачи планируете решать с помощью R, в какой сфере работаете? Академические исследования, биоинформатика, интернет — маркетинг, или ещё что-то другое?
Спасибо за комментарий, циклы в R, да и в Python вроде тоже, довольно медленные.
Попробуйте вместо циклов в R использовать что то из семества функций
apply(),sapply(),lapply(),vapply(). Или пакетpurrr.В
pandasтоже есть аналоги,apply(),map(),applymap().И в теле цикла не используйте операции вертикального объединения типа
rbind()иbind_rows(), лучше результат каждой итерации добавлять в заранее определённый список, и по завершению работы цикла привести его уже с помощью того жеbind_rows()в табличный вид.Думаю такой подход ускорит ваш код.
Спасибо за комментарий.
Согласен, подредактирую пункт про ООП в статье.
Спасибо.
Про S4 и R6 я отдельную публикацию планирую, просто пока руки не дошли.
Цель этой статьи была упростить миграцию между Python и К в плане синтаксиса, т.е. не столько сравнение языков и их производительности, как миграция между ними.
Благодарю за комментарий. И отдельное спасибо за то, что напомнили про индексы, сейчас добавлю эту информацию в статью.
Можно попробовать тестово через планировщик запустить и принтов добавить, потом глянуть лог как он отображает имена месяцев / дней и т.д..
В принципе проблему кодировки можно решить, например в начало скрипта добавить
Sys.setlocale("LC_CTYPE", "russian").Или на худой конец при сравнение кодировать через iconv().
Я не особо силён в английском, но у них вроде нет склонений, поэтому и сомневаюсь, что какими то стандартными способами это можно в R реализовать, разве что какой то API использовать русскоязычный для склонения.
Честно говоря так сразу затрудняюсь ответить, попробую найти решение, как найду отпишусь тут.
Первое что в голову пришло просто создать справочник склонений, и просто заменять как текст.
Спасибо, отличная идея. В ближайшее время допишу статью.
Добрый день, подскажу:
as.durationсоздаёт объект класса durations. Который с помощьюas.numericлегко переводится в число, равное количеству временных отрезков заданное во втором аргументе.Спасибо за комментарий!
timeperiodsRэто мой пакет, я его в сентябре только опубликовал на CRAN.Зачем я его написал, потому, что мне надоело копипастить часть кода для определения отчётного периода, в 90% случаев это прошлый месяц или прошлая неделя. И я решил для этого создать удобный пакет.
Потом решил, что удобно будет ещё и проверку периода с фильтрацией добавить, и дописал в пакет несколько операторов.
Если интересно вот ссылка на виньетку, на опечатки в ней прошу пока особо внимания не обращать, в следующей редакции всё исправлю.
Спасибо за комментарий.
Я думал над тем, что бы добавить в эту статью информацию про
dbplyr. В любом случае, либо добавлю в сюда эту инфу, либо напишу продолжение отдельной статьёй.А для отправки в BigQuery на R есть пакет Викхема bigrquery)