Как стать автором
Поиск
Написать публикацию
Обновить
6.65

R *

Язык для статистической обработки данных

Сначала показывать
Порог рейтинга
Уровень сложности

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

Время на прочтение10 мин
Количество просмотров12K

R — это объектно ориентированный язык. В нём абсолютно всё является объектом, начиная от функций и заканчивая таблицами.


В свою очередь, каждый объект в R относится к какому-либо классу. На самом деле, в окружающем нас мире ситуация примерно такая же. Мы окружены объектами, и каждый объект можно отнести к классу. От класса зависит набор свойств и действий, которые с этим объектом можно произвести.


image

Читать дальше →

Занимательная археология: стилевое руководство R под лупой

Время на прочтение6 мин
Количество просмотров4.3K
Как известно, код читают намного чаще, чем пишут. Чтобы его мог читать хоть кто-то, кроме автора, и существуют стилевые гиды. Для R таковым может быть, например, руководство Хэдли.

Стилевой гид это не просто негласный договор разработчиков – за многими из правил стоит любопытная предыстория. Почему стрелка <- лучше знака равенства =, почему старожилы R не любят нижнее подчеркивание, как рекомендуемая длина строки связана с перфокартой, и о многом другом – далее.
Читать дальше →

Ежедневные отчёты по состоянию виртуальных машин с помощью R и PowerShell

Время на прочтение18 мин
Количество просмотров11K

Вступление


День добрый. Уже пол года у нас работает скрипт (точнее набор скриптов), генерирующий отчёты по состоянию виртуальных машин (и не только). Решил поделиться опытом создания и самим кодом. Рассчитываю на критику и на то, что данный материал может быть кому-то полезным.

Читать дальше →

Data Science Digest (May 2019)

Время на прочтение2 мин
Количество просмотров3.3K


Хабр, привет!

В прошлом выпуске я рассказывал, что для дайджеста запустил Telegram-канал, а сегодня хочу поделиться новостью, что также завел для него страницы в facebook, twitter, LinkedIn. Приглашаю всех присоединяться к ним.

Кроме этого сегодня мы опубликовали дайджест на Product Hunt, кто знает, что это — те в курсе, что необходимо делать ;)

А пока предлагаю свежую подборку материалов под катом.
Читать дальше →

Книга «Искусство программирования на R. Погружение в большие данные»

Время на прочтение8 мин
Количество просмотров5.1K
image Привет, Хаброжители! Многие пользователи используют R для конкретных задач — тут построить гистограмму, там провести регрессионный анализ или выполнить другие отдельные операции, связанные со статистической обработкой данных. Но эта книга написана для тех, кто хочет разрабатывать программное обеспечение на R. Навыки программирования предполагаемых читателей этой книги могут лежать в широком спектре — от профессиональной квалификации до «Я проходил курс программирования в колледже», но ключевой целью является написание кода R для конкретных целей. (Глубокое знание статистики в общем случае не обязательно.)

Несколько примеров читателей, которые могли бы извлечь пользу из этой книги:

  • Аналитик (допустим, работающий в больнице или в правительственном учреждении), которому приходится регулярно выдавать статистические отчеты и разрабатывать программы для этой цели.
  • Научный работник, занимающийся разработкой статистической методологии — новой или объединяющей существующие методы в интегрированные процедуры. Методологию нужно закодировать, чтобы она могла использоваться в сообществе исследователей.
  • Специалисты по маркетингу, судебному сопровождению, журналистике, издательскому делу и т. д., занимающиеся разработкой кода для построения сложных графических представлений данных.
  • Профессиональные программисты с опытом разработки программного обеспечения, назначенные в проекты, связанные со статистическим анализом.
  • Студенты, изучающие статистику и обработку данных.

Читать дальше →

Моя численная проверка гипотезы «Абсолютных курсов»

Время на прочтение4 мин
Количество просмотров3.7K
Привет, Хабр!

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



Результаты получились интересными.
Читать дальше →

10 полезных фич R, о которых вы могли не знать

Время на прочтение5 мин
Количество просмотров11K
image

В R полным-полно самых разных функций. Ниже я приведу десять самых интересных из них, о которых многие могли не знать. Статья появилась после того, как я обнаружил, что мои рассказы о некоторых возможностях R, которые я использую в работе, восторженно воспринимаются знакомыми программистами. Если вы и так знаете об этом всё, то прошу прощения за потраченное время. В то же время, если есть чем поделиться — посоветуйте что-то полезное в комментариях.
Читать дальше →

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

Время на прочтение19 мин
Количество просмотров3.4K

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


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


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

Читать дальше →

Как начать применять R в Enterprise. Пример практического подхода

Время на прочтение2 мин
Количество просмотров2.7K

Публикация по выступлению на секции R meetup @ Moscow Data Science Major (Spring 2019).
Вся презентация в pdf формате.


Почему этот вопрос актуален?


Бизнес-кейсы различны, техническая суть одинакова


  • Аналитика работы колл-центра
  • Аналитика продаж, включая прогнозы
  • Антифрод системы
  • Business process mining
  • Различные аудиты (технические, финансовые)
  • Складские и логистические задачи
  • Activity-based costing
  • Business-process monitoring
  • Log-based аналитика
  • Capacity management
  • Текстовая аналитика (e-mail, service-desk)
  • "Гибкие" дашборды и отчеты
  • "интеллектуальные шины" между учетными системами (1С, СКУД, SAP, ...) и исполнительными
  • ...

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

Читать дальше →

Data Science Digest (April 2019)

Время на прочтение2 мин
Количество просмотров3.9K


Хабр, привет!

В марте я восстановил публикацию на Хабре дайджеста посвященного ML и Data Science. Сегодня я подготовил свежую подборку интересных ссылок, а также анонсирую запуск Telegram-канала дайджеста, в котором ежедневно публикую ссылки на интересные материалы, связанные с AI & ML. Приглашаю всех присоединяться к нему. А пока предлагаю свежую подборку материалов под катом.
Читать дальше →

Создаем анимированные гистограммы при помощи R

Время на прочтение4 мин
Количество просмотров7.9K


Анимированные гистограммы, которые можно встроить прямо в публикацию на любом сайте, становятся все более популярными. Они отображают динамику изменений любых характеристик за определенное время и делают это наглядно. Давайте посмотрим, как их создать при помощи R и универсальных пакетов.
Читать дальше →

Quick Draw Doodle Recognition: как подружить R, C++ и нейросетки

Время на прочтение32 мин
Количество просмотров6.9K


Привет, Хабр!

Осенью прошлого года на Kaggle проходил конкурс по классификации нарисованных от руки картинок Quick Draw Doodle Recognition, в котором среди прочих поучаствовала команда R-щиков в составе Артема Клевцова, Филиппа Управителева и Андрея Огурцова. Подробно описывать соревнование не будем, это уже сделано в недавней публикации.

С фармом медалек в этот раз не сложилось, но было получено много ценного опыта, поэтому о ряде наиболее интересных и полезных на Кагле и в повседневной работе вещей хотелось бы рассказать сообществу. Среди рассмотренных тем: нелегкая жизнь без OpenCV, парсинг JSON-ов (на этих примерах рассматривается интеграция кода на С++ в скрипты или пакеты на R посредством Rcpp), параметризация скриптов и докеризация итогового решения. Весь код из сообщения в пригодном для запуска виде доступен в репозитории.

Содержание:


  1. Эффективная загрузка данных из CSV в базу MonetDB
  2. Подготовка батчей
  3. Итераторы для выгрузки батчей из БД
  4. Выбор архитектуры модели
  5. Параметризация скриптов
  6. Докеризация скриптов
  7. Использование нескольких GPU в облаке Google Cloud
  8. Вместо заключения
Читать дальше →

Ближайшие события

R пакет tidyr и его новые функции pivot_longer и pivot_wider

Время на прочтение18 мин
Количество просмотров8.9K

Пакет tidyr входит в ядро одной из наиболее популярных библиотек на языке R — tidyverse.
Основное назначение пакета — приведение данных к аккуратному виду.


На Хабре уже есть публикация посвящённая данному пакету, но датируюется она 2015 годом. А я хочу рассказать, о наиболее актуальных изменениях, о которых несколько дней назад сообщил его автор Хедли Викхем.


image
SJK: Функции gather() и spread() будут считаться устаревшими?

Hadley Wickham: В какой то мере. Мы перестанем рекомендовать использование данных функций, и исправлять в них ошибки, но они и далее буду присутствовать в пакете в текущем состоянии.
Читать дальше →

Data Science Digest

Время на прочтение3 мин
Количество просмотров4.8K


Хабр, привет!

Очень давно я вел на Хабре дайджест посвященный AI и BigData. Сейчас хочу восстановить его и раз в месяц делать подборку интересных материалов из области Data Science.

В январе я начал опрос дата-сайентистов об их рабочих инструментах. За это время в нем уже приняло участие больше 600 человек. До 3 марта в нем еще можно принять участие, если вы это еще не сделали. Опубликовать результаты я планирую в 10-х числах марта, а пока предлагаю свежую подборку материалов под катом.
Читать дальше →

Кластеризация беспроводных точек доступа с использованием метода k-средних

Время на прочтение3 мин
Количество просмотров2.8K
Визуализация и анализ данных в настоящее время широко применяется в телекоммуникационной отрасли. В частности, анализ в значительной степени зависит от использования геопространственных данных. Возможно, это связано с тем, что телекоммуникационные сети сами по себе географически разбросаны. Соответственно, анализ таких дисперсий может дать огромную ценность.
Читать дальше →

Использование вычислительных возможностей R для проверки гипотезы о равенстве средних

Время на прочтение4 мин
Количество просмотров4K

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


Но рассуждать с бизнесом о нулевых гипотезах и значении p-value совершенно бесполезно и контрпродуктивно.


Как можно по состоянию на февраль 2019 года сделать это максимально просто и быстро имея под руками ноутбук «средней руки»? Заметка реферативная, формул нет.


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

Читать дальше →

Data Science «спецназ» собственными силами

Время на прочтение8 мин
Количество просмотров12K

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


Все дело в том, что, в отличии от классических проектов по поставке железа или внедрению вендорских решений, укладывающихся в линейную модель исполнения, задачи, связанные с продвинутой аналитикой (data science) очень трудно формализуются в виде четкого и однозначного ТЗ в виде достаточным для передачи исполнителю. Ситуация отягощается тем, что для реализации задачи требуется интеграция массы различных внутренних ИТ систем и источников данных, часть вопросов и ответов может появиться только после того, как начинается работа с данными и вскрывается реальное положение дел, сильно отличающееся от документальной картины мира. Это все означает, что для написания грамотного ТЗ необходимо провести предварительную часть работы сопоставимую с половиной проекта, посвященную изучению и формализации реальных потребностей, анализу источников данных, их связей, структуры и пробелов. В рамках организаций сотрудников, которые способны провернуть такую масштабную работу, практически не бывает. Вот и получается, что на конкурсы выкладывают совсем сырые требования. В лучшем случае конкурсы отменяются (отправляются на доработку) после цикла уточняющих вопросов. В худшем случае — за громадный бюджет и длинные сроки получается нечто, совершенно не похожее на планы авторов требований. И остаются они у разбитого корыта.


Разумной альтернативой является создания внутри компании команды data science (DS). Если не замахиваться на строительство египетских пирамид, то команда и 2-3 грамотных специалистов может сделать весьма и весьма много. Но тут возникает другой вопрос, как подготовить этих спецов. Ниже хочу поделиться набором успешно апробированных соображений по быстрой подготовке такого «спецназа» с R в качестве оружия.


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

Читать дальше →

Пилим данные с комфортом

Время на прочтение10 мин
Количество просмотров2.9K
image

Доброго времени дня.

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

Задача сводится к тому что бы распределить (распилить, рассплитовать — жаргон бизнеса неиссякаем) данные какой-нибудь целевой таблицы с агрегатами (совокупные значения) на таблицу более детальной гранулярности.

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

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

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

Время на прочтение11 мин
Количество просмотров4.7K

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


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


image

Читать дальше →

Вклад авторов