Pull to refresh
  • by relevance
  • by date
  • by rating

Попробуй R

ProgrammingR


С утра я обнаружил у себя в почте приятный предновогодний сюрприз: Code School совместно с O'Reilly выпустили бесплатный курс по языку R.

Курс выполнен в традициях Code School, т.е. его запросто можно пройти в браузере за пару-другую перерывов на кофе. Для этого даже не потребуется регистрация.
Читать дальше →
Total votes 62: ↑59 and ↓3 +56
Views40K
Comments 31

Язык R в помощь хабра-статисту

R
Sandbox
На написание данной статьи меня сподвиг следующий топик: В поисках идеального поста, или загадки хабра. Дело в том, что после ознакомления с языком R я крайне искоса смотрю на любые попытки, что-то посчитать в экселе. Но надо признать, что и с R я познакомился лишь неделю назад.

Цель: Собрать средствами языка R данные с любимого HabraHabr'а и провести, собственно то, для чего и был создан язык R, а именно: статистический анализ.

Итак, прочтя этот топик вы узнаете:
  • Как можно использовать R для извлечения данных из Web ресурсов
  • Как преобразовывать данные для последующего анализа
  • Какие ресурсы крайне рекомендуются к прочтению всем желающим познакомиться с R поближе


Ожидается, что читатель достаточно самостоятелен, чтобы самому ознакомиться с основными конструкциями языка. Для этого как никак лучше подойдут ссылки в конце статьи.

Приступим!
Total votes 59: ↑54 and ↓5 +49
Views100K
Comments 22

data.table: выжимаем максимум скорости при работе с данными в языке R

Microsoft corporate blogData MiningBig DataRMachine learning

На эксклюзивных условиях представляем для вас полный вариант статьи из журнала Хакер, посвященной разработке на R. Под катом вы узнаете, как выжать максимум скорости при работе с табличными данными в языке R.


Читать дальше →
Total votes 27: ↑26 and ↓1 +25
Views12.6K
Comments 1

Разработка на R: тайны циклов

Microsoft corporate blogProgrammingAlgorithmsRMachine learning

Меньше недели назад в журнале Хакер вышла авторская версия материала, посвященного фичам при использовании циклов при разработке на R. По согласованию с Хакером, мы делимся полной версией первой статьи. Вы узнаете о том, как правильно писать циклы при обработке больших объемов данных.


Читать дальше →
Total votes 27: ↑27 and ↓0 +27
Views15.9K
Comments 9

Союз R и PostgreSQL. Анализируем работу аэропортов, рассчитываем пенсии

Postgres Professional corporate blogPostgreSQL

Часть I. R извлекает и рисует


Конечно, PostgreSQL с самого начала создавалась как универсальная СУБД, а не как специализированная OLAP-система. Но один из больших плюсов Постгреса — в поддержке языков программирования, с помощью которых из него можно сделать что угодно. По изобилию встроенных процедурных языков ему просто нет равных. PL/R — серверная реализация R — любимого языка аналитиков — один из них. Но об этом позже.

R – удивительный язык со своеобразными типами данных — list, например, может включать в себя не только данные разных типов, но и функции (вообще, язык эклектичный, и говорить о принадлежности его к определенному семейству не будем, чтобы не порождать отвлекающие дискуссии). В нем есть симпатичный тип данных data.frame, который подражает таблице РСУБД — это матрица, у которой столбцы содержат разные типы данных, общие на уровне столбца. Поэтому (и по другим причинам) работать в R с базами данных довольно удобно.

Мы будем работать в командной строке в среде RStudio и соединяться с PostgreSQL через драйвер ODBC RpostgreSQL. Их несложно установить.

Поскольку R создавался как этакий вариант языка S для тех, кто занимается статистикой, то и мы приведем примеры из простенькой статистики с простенькой графикой. У нас нет цели знакомить с языком, но есть цель показать взаимодействие R и PostgreSQL.

Обрабатывать данные, хранящиеся в PostgreSQL, можно тремя путями.
Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Views5.9K
Comments 13

Как ускорить работу с API на языке R с помощью параллельных вычислений, на примере API Яндекс.Директ (Часть 1)

APIYandex APIBig DataConcurrent computingR

Язык R на сегодняшний день является одним из мощнейших и многофункциональных инструментов для работы с данными, но как мы знаем практически всегда, в любой бочке мёда найдётся ложка дёгтя. Дело в том, что R по умолчанию является однопоточным.


Скорее всего достаточно длительное время вас это не будет беспокоить, и вы вряд ли будете задаваться этим вопросом. Но к примеру если вы столкнулись с задачей сбора данных из большого количества рекламных аккаунтов из API, например Яндекс.Директ, то вы значительно, как минимум в два — три раза, можете сократить время на сбор данных используя многопоточность.


image

Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Views3.6K
Comments 12

Как ускорить работу с API на языке R с помощью параллельных вычислений, на примере API Яндекс.Директ (Часть 2)

Data MiningAPIYandex APIConcurrent computingR
Tutorial

В прошлой статье я рассказал о том, что такое многопоточность, и привёл примеры её реализации на языке R при работе с API Яндекс.Директ с помощью пакетов doSNOW, doParallel и конструкции foreach.


Данная статья является продолжением, но может быть рассмотрена как автономное руководство по многопоточности в R. К её написанию меня подтолкнули комментарии полученные к первой части (тут отдельная благодарность Alexey_mosc, SatCat, Ananiev_Genrih), в которых мне привели ряд пакетов, представляющих более современный подход к реализации многопоточности в R, о них далее и пойдёт речь.


Многопоточность

Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Views2.5K
Comments 8

Представьте себе ваши данные перед тем, как вы их соберете

OTUS corporate blogRData visualization
Translation


Перевод подготовлен для студентов курса «Прикладная аналитика на R».




Нам, как исследователям данных (data scientist), часто дают набор данных и просят использовать его для получения информации. Мы используем R для обработки, визуализации, моделирования, подготовки таблиц и графиков, чтобы поделиться результатами или опубликовать их. Если мы смотрим на данные таким образом, то нам не важно откуда эти данные пришли. Размер выборки, набор признаков и их шкалы фиксированы. Тем не менее, процедуры, используемые для сбора или генерирования данных, чрезвычайно важны для будущего анализа, а также для качества информации, которую мы, в конечном итоге, можем получить. Процесс сбора данных влияет на то, как следует анализировать полученные данные. Для исследований, которые измеряют причинно-следственные связи, важно какие данные следует брать во внимание, а какие нет.

Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Views2.7K
Comments 0

Построение поведенческих воронок на языке R, на основе данных полученных из Logs API Яндекс.Метрики

Data MiningYandex APIRData visualizationInternet marketing
Tutorial

Анализ воронки продаж — типичная задача для интернет маркетинга, и в частности электронной коммерции. С её помощью вы можете:


  • Выяснить на каком из шагов к покупке вы теряете потенциальных клиентов.
  • Моделировать объём дополнительного притока выручки, в случае расширения каждого шага на пути к покупке.
  • Оценить качество трафика закупаемого на различных рекламных платформах.
  • Оценить качество обработки входящих заявок по каждому из менеджеров.

В этой статье я расскажу о том, как на языке R запрашивать данные из Logs API Яндекс Метрики, строить и визуализировать на их основе воронку.


Одно из основных преимуществ языка R заключается в наличии огромного количества пакетов, расширяющих его базовый функционал. В данной статье мы рассмотрим пакеты rym, funneljoin и ggplot2.


С помощью rym мы загрузим данные из Logs API, funneljoin используем для построения поведенческой воронки, а с помощью ggplot2 визуализируем полученный результат.


image

Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Views4.1K
Comments 2

Разворачиваем вложенные столбцы — списки с помощью языка R (пакет tidyr и функции семейства unnest)

Data MiningBig DataRData Engineering
Translation
Tutorial

В большинстве случаев при работе с ответом полученным от API, или с любыми другими данными которые имеют сложную древовидную структуру, вы сталкиваетесь с форматами JSON и XML.


Эти форматы имеют множество преимуществ: они достаточно компактно хранят данные и позволяют избежать излишнего дублирования информации.


Минусом данных форматов является сложность их обработки и анализа. Неструктурированные данные невозможно использовать в вычислениях и нельзя строить на их основе визуализацию.




Данная статья является логическим продолжением публикации "R пакет tidyr и его новые функции pivot_longer и pivot_wider". Она поможет вам привести неструктурированные конструкции данных к привычному, и пригодному для анализа табличному виду с помощью пакета tidyr, входящего в ядро библиотеки tidyverse, и его функций семейства unnest_*().

Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Views1.3K
Comments 0

Язык R для пользователей Excel (бесплатный видео курс)

Data MiningBig DataRData visualizationData Engineering

В связи с карантином многие сейчас львиную долю времени проводят дома, и это время можно, и даже нужно провести с пользой.


В начале карантина я решил довести до ума некоторые проекты начатые несколько месяцев назад. Одним из таких проектов был видео курс "Язык R для пользователей Excel". Этим курсом я хотел снизить порог вхождения в R, и немного восполнить существующий дефицит обучающих материалов по данной теме на русском языке.


Если всю работу с данными в компании, в котороый вы работаете принято по-прежнему вести в Excel, то предлагаю вам познакомится с более современным, и при этом совершенно бесплатным инструментом анализа данных.


Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Views22.5K
Comments 2

dplyr 1.0.0 опубликован на CRAN: Видео обзор новых возможностей и произошедших в нём изменений

Data MiningBig DataRData Engineering

dplyr — R пакет, реализующий грамматику манипуляции данными, состоящую из набора согласованных между собой глаголов, которые помогут вам решить наиболее распространенные проблемы манипулирования данными на языке R.


Это один из наиболее популярных и скачиваемых из CRAN пакетов, сегодня им пользуются миллионы аналитиков и специалистов в области науки о данных.



Хедли Викхем работает над интерфейсом dplyr с 2014 года, dplyr это потомок plyr, но более быстрый и изящный по синтаксису. За 6 лет синтаксис и функционал dplyr устаканился, в связи с чем 29 мая был официальный релиз версии 1.0.0.


За 6 недель до релиза Викхем начал публиковать серию статей, что бы постепенно ознакомить многочисленных пользователей dplyr со всеми грядущими изменениями.


В свою очередь я, преследуя туже цель, по большинству статей снимал небольшие видео обзоры, которыми и хотел с вами поделиться.


Эта публикация поможет вам максимально быстро ознакомится со всем, что было изменено или добавлено в dplyr 1.0.0.

Читать дальше →
Total votes 3: ↑2 and ↓1 +1
Views1.3K
Comments 5

Пишем telegram бота на языке R (часть 1): Создаём бота, и отправляем с его помощью сообщения в telegram

Instant MessagingAPIRData Engineering
Tutorial

Аудитория telegram ежедневно растёт с геометрической прогрессией, этому способствует удобство мессенджера, наличие каналов, чатов, и конечно возможность создавать ботов.


Боты могут использоваться в совершенно разных целях, от автоматизации коммуникации с вашими клиентами до управления вашими собственными задачами.


По сути через бота можно используя telegram выполнять любые операции: отправлять, либо запрашивать данные, запускать задачи на сервере, собирать информацию в базу данных, отправлять электронные письма и так далее.


Я планирую написать серию статей, о том, как на языке R работать с telegram bot API, и писать ботов под свои нужды.



В этой, первой статье мы разберёмся как создать телеграм бота, и отправлять с его помощью уведомления в telegram.

Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Views7.9K
Comments 0

Пишем telegram бота на языке R (часть 2): Добавляем боту поддержку команд и фильтры сообщений

Instant MessagingAPIRData Engineering
Tutorial

В предыдущей публикации мы разобрались как создать бота, инициализировали экземпляр класса Bot и ознакомились с методами отправки сообщений с его помощью.


В этой статье я продолжаю данную тему, поэтому приступать к чтению данной статьи я рекомендую только после прочтения первой части.


В этот раз мы разберёмся как оживить нашего бота и добавим ему поддержку команд, а также познакомимся с классом Updater.


В ходе статьи мы напишем нескольких простых ботов, последний будет по заданной дате и коду страны определять является ли день в данной стране выходным или рабочим согласно производственного календаря. Но, как и прежде цель статьи ознакомить вас с интерфейсом пакета telegram.bot для решения ваших собственных задач.


Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Views2.4K
Comments 0

Пишем telegram бота на языке R (часть 3): Как добавить боту поддержку клавиатуры

Instant MessagingAPIRData Engineering
Tutorial

Это третья статья из серии "Пишем telegram бота на языке R". В предыдущих публикациях мы научились создавать телеграм бота, отправлять через него сообщения, добавили боту команды и фильтры сообщений. Поэтому перед тем как приступить к чтению данной статьи я крайне рекомендую ознакомиться с предыдущими, т.к. тут я уже не буду останавливать на описанных ранее основах ботостроения.


В этой статье мы повысим юзабилити нашего бота за счёт добавления клавиатуры, которая сделает интерфейс бота интуитивно понятным, и простым в использовании.


Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Views2.7K
Comments 0

Пишем telegram бота на языке R (часть 4): Построение последовательного, логического диалога с ботом

Instant MessagingAPIRData Engineering
Tutorial

Если вы уже ознакомились с предыдущими тремя статьями из данной серии, то вы уже умеете писать полноценных telegram ботов с клавиатурой.


В этой статье мы с вами научимся писать бота, который будет поддерживать последовательный диалог. Т.е. бот будет задавать вам вопросы, и ждать от вас ввода какой-либо информации. В зависимости от введённых вами данных бот будет выполнять некоторые действия.


Также в данной статье мы научимся использовать под капотом бота базы данных, в нашем примере это будет SQLite, но вы можете использовать любую другую СУБД. Более подробно о взаимодействии с базами данных на языке R я писал в этой статье.


Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Views1.7K
Comments 3

Пишем telegram бота на языке R (часть 5): Управление правами пользователей бота

Instant MessagingAPIRData Engineering
Tutorial

В предыдущих статьях мы достаточно подробно разобрали тему ботостроения, от отправки первого сообщения до программирования логического диалога с ботом.


Это последняя статья из данной серии, в которой мы разберёмся с тем, как управлять правами использования отдельных методов бота на различных уровнях.


Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Views1.7K
Comments 2

ООП в языке R (часть 2): R6 классы

ProgrammingData MiningООPRData Engineering
Tutorial

В прошлой публикации мы разобрали S3 классы, которые являются наиболее популярными в языке R.


Теперь разберёмся с R6 классами, которые максимально приближённые к классическому объектно ориентированному программированию.


Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Views1.9K
Comments 4

Логирование выполнения скриптов на языке R, пакет lgr

ProgrammingRData Engineering
Tutorial

При проведении разового анализа логирование вам не понадобится. Но в случае разработки скриптов, которые будут по расписанию запускаться в пакетном режиме, логирование упростит вам процесс определения и исправления возникающих в работе скрипта ошибок.


По умолчанию скрипты которые запускаются командой R CMD BATCH логируются в одноимённые файлы с расширением .Rout. Но такие логи неудобно читать, а анализировать невозможно.


Есть целый ряд пакетов, которые берут на себя процесс логирования. В этой статье мы рассмотрим один из наиболее функциональных и новых пакетов — lgr.


Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views954
Comments 0