Біографії Характеристики Аналіз

Мій досвід введення в R або I Love R. Середовище статистичних обчислень R: досвід використання у викладанні Який тип ліцензії у мови r

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

Що потрібно для проходження
Власне, мова R (версії 3.2.0 або новіша). Як середовище розробки у відеоуроках використовуватиметься RStudio. Втім, за бажанням можна працювати в будь-якій іншій IDE або улюбленому редакторі.

Сертифікат
Прохідний бал для отримання сертифіката - 70 балів зі 100. Для сертифіката з відзнакою - 92 .

Who is this course for

Студенти та аспіранти, наукові співробітники, аналітики та дослідники, які працюють у галузі аналізу даних

Курс не передбачає знання R чи інших мов програмування. Проте наявність досвіду у обробці даних чи знання основних принципів програмування полегшить проходження уроків. Даний курс добре сумісний з курсом "Аналіз даних у R". Ці курси незалежні і можуть відбуватися в будь-якому порядку.

Нещодавно зіткнувся з таким феноменом – про мову програмування R чули багато хто. Але знають, що це таке дуже мало людей.

Оскільки я є носієм цієї мови і зацікавлений у її популяризації, спробую трохи розкрити тему в цьому пості. Буде цікаво!

План простий:

1) Що таке мова R

2) Популярність у Росії

Що таке мова R

R (віки) - мова програмування для статистичної обробки даних та роботи з графікою, а також вільне програмне середовище обчислень з відкритим вихідним кодом у рамках проекту GNU.

На нашу: Мова ідеально підходить для пошуку ринкових закономірностей. Безкоштовний, швидкий та вільний.

Він дозволяє вести статистичні дослідження всього до чого можуть дістати руки. За роки його існування з'явилися десятки та сотні розширень для вирішення практично будь-яких прикладних завдань.

Це найпопулярніша мова програмування алготрейдерів на заході. Це передова те, що зараз доступно в галузі машинного навчання та статистики.

Для того, щоб писати програми на R, достатньо завантажити R-Studio і все



Якийсь час тому, в рамках популяризації мови, записав міні-курс «R для кожного». Безкоштовний. Подивіться, як просто все це працює і як швидко на ньому писати скрипти. Це просто чудово!

Популярність у Росії

Залишає бажати кращого.

Якщо на заході 90% усіх досліджень проводитиметься за допомогою цієї мови, то в Росії рідкісний тиждень проходить на Смарт-Лабі, в якому можна знайти хоч одну згадку про неї. Тобто. число людей знаючих R – критично мало.

Серед причин такої ситуації: відсутність допомог російською до недавнього часу, відсутність навчальних курсів, низька грамотність трейдерів і ще багато чого. Не будемо про це.

Важливо лише те, що популярність цієї мови у Росії та СНД неухильно зростає.

Російські користувачі втомилися від непрацюючих АПІ та дорогих торгових систем. Безкоштовна мова R, в контексті трейденгу, незабаром займе гідне місце в їх інструментарії. Приєднуйся!

На цьому сьогодні все. Сподіваюся було цікаво.

Дивитися мій безкоштовний курс, щоб зрозуміти, як писати код. Пишіть роботів!

Багато прикладів та статей на цьому сайті активно використовують мову програмування «R».

R для Linux зазвичай можна встановити, використовуючи репозиторії вашого дистрибутива. Я користуюсь Debian-based дистрибутивами, в яких стандартна команда для встановлення R виглядає так:

Sudo apt install r-base

Набирати це потрібно у терміналі.

Принадність R полягає в наступному:

  1. Ця програма безкоштовна (розповсюджується під ліцензією GPL),
  2. Під цю програму написано багато пакетів на вирішення великого спектра завдань. Усі вони так само безкоштовні.
  3. Програма дуже гнучка: розміри будь-яких векторів та матриць можуть змінюватися за бажанням користувача, дані не мають жорсткої структури. Ця властивість виявляється вкрай корисною у разі прогнозування, коли досліднику потрібно дати прогноз на довільний термін.

Остання властивість особливо актуальна, тому що інші статистичні пакети (такі як SPSS, Eviews, Stata) припускають, що нас може цікавити лише аналіз даних, які мають фіксовану структуру (наприклад, усі дані в робочому файлі повинні бути однакової періодичності з однаковими датами початку та кінця).

Втім, R – це не найдружніша програма. На час роботи з нею забудьте про мишку - практично всі найважливіші дії виконуються з використанням командного рядка. Однак для того, щоб зробити життя трохи легшим, а саму програму трохи більш привітною, є програма-frontend (зовнішній інтерфейс) під назвою RStudio. Завантажити її можна звідси. Встановлюється вона після того, як вже встановлено сам R. У RStudio багато зручних інструментів і приємний інтерфейс, проте аналіз та прогнозування в ньому так само здійснюються з використанням командного рядка.

Спробуймо поглянути на цю чудову програму.

Знайомство з RStudio

Інтерфейс RStudio виглядає так:

У правому верхньому кутку в RStudio вказано ім'я проекту (яке поки що у нас "None" - тобто відсутнє). Якщо натиснути на цей напис і вибрати New Project (новий проект), то нам запропонують створити проект. Для базових цілей прогнозування достатньо вибрати New Directory (нова папка для проекту), Empty Project (порожній проект), а потім - ввести назву проекту і вибрати директорію, в якій його зберегти. Увімкніть уяву і спробуйте вигадати назву самі:).

Працюючи з одним проектом, ви завжди зможете звернутися до збережених у ньому даних, команд та скриптів.

У лівій частині вікна RStudio розташовується консоль. Саме до неї ми і будемо вписувати різні команди. Наприклад, напишемо таку:

Ця команда згенерує 100 випадкових величин із нормального розподілу з нульовим математичним очікуванням та одиничною дисперсією, після чого створить вектор під назвою «x» і запише отримані 100 величин до нього. Символ «<-» эквивалентен символу «=» и показывает какое значение присвоить нашей переменной, стоящей слева. Иногда вместо него удобней использовать символ «->», правда наша змінна в такому разі має стояти праворуч. Наприклад, наступний код створить об'єкт «y» абсолютно ідентичний об'єкту «x»:

Ці вектори тепер з'явилися у правій верхній частині екрана, під закладкою, яка я має назву «Environment»:

Зміни в закладці "Environment"

У цій частині екрана з'являться всі об'єкти, які ми зберігаємо під час сесії. Наприклад, якщо ми створимо таку ось матрицю:

\(A = \begin(pmatrix) 1 & 1 \\ 0 & 1 \end(pmatrix) \)

такою ось командою:

то вона з'явиться в закладці "Environment":

Будь-яка функція, яку ми використовуємо, вимагає, щоб ми задали деякі значення певним параметрам. У функції matrix() є такі параметри:

  • data – вектор з даними, який має бути записаний у матрицю,
  • nrow – число рядків у матриці,
  • ncol – число стовпців у матриці,
  • byrow – логічний параметр. Якщо "TRUE" (істина), то наповнення матриці буде здійснюватися по рядках (зліва направо, рядок за рядком). За промовчанням цей параметр має значення «FALSE» (брехня),
  • dimnames - лист з іменами рядків та стовпців.

Деякі з цих параметрів мають значення за промовчанням (наприклад, byrow=FALSE ), тоді як інші можуть бути опущені (наприклад dimnames ).

Одна з фішок «R» полягає в тому, що до будь-якої функції (наприклад, до нашої matrix() ) можна звернутися, задаючи значення прямо:

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

Щоб побачити зміст будь-якого об'єкта, що знаходиться в закладці «Environment», достатньо надрукувати його назву в консолі:

Інший варіант – це натиснути на ім'я об'єкта в закладці "Environment".

де matrix - це назва цікавить нас функції. RStudio спеціально для вас у такому разі відкриє панель Help з описом:

Знайти допомогу по функції можна так само, набравши назву функції у вікні "пошук" (іконка з лінзою) у закладці "Help".

Якщо ви не пам'ятаєте точно, як пишеться назва функції або які в ній використовуються параметри, достатньо почати писати її назву в консолі і натиснути кнопку «Tab»:

Крім цього в RStudio можна писати скрипти. Вони можуть знадобитися в тому випадку, якщо вам потрібно написати програму або викликати послідовність функцій. Створюються скрипти використовуючи кнопку з плюсиком у верхньому лівому кутку (у меню, що випадає, потрібно вибрати «R Script»). У вікні, що відкрилося після цього, ви зможете писати будь-які функції та коментарі. Наприклад, якщо ми хочемо побудувати лінійний графік по ряду x, це можна зробити так:

Plot(x) lines(x)

Перша функція будує найпростіший точковий графік, а друга функція додає поверх точок лінії, що з'єднують точки послідовно. Якщо виділити ці дві команди та натиснути «Ctrl+Enter», то вони будуть виконані, в результаті чого RStudio відкриє закладку «Plot» у правому нижньому кутку та відобразить у ній побудований графік.

Якщо всі набрані команди нам ще знадобляться в майбутньому, цей скрипт можна зберегти (дискетка в лівому верхньому кутку).

Якщо вам потрібно звернутися до команди, яку ви вже набирали колись у минулому, у правій верхній частині екрана є закладка «History». У ній можна знайти і вибрати будь-яку цікаву для вас команду і подвійним натисканням вставити її в консоль. У самій консолі можна звертатися до попередніх команд за допомогою кнопок «Up» (вгору) та «Down» (вниз) на клавіатурі. Поєднання клавіш Ctrl+Up дозволяє в консолі показати список усіх останніх команд.

Взагалі в RStudio багато корисних поєднань клавіш, які значно полегшують роботу з програмою. Докладніше про них можна почитати.

Як я вже згадав раніше, для R існує безліч пакетів. Всі вони розташовані на сервері CRAN і для встановлення будь-якого з них потрібно знати його назву. Встановлення та оновлення пакетів здійснюється за допомогою закладки "Packages". Перейшовши на неї і натиснувши кнопку «Install», ми побачимо приблизно таке меню:

Наберемо у вікні: forecast - це пакет, написаний Робом Хайндманом (Rob J. Hyndman), що містить купу корисних для нас функцій. Натисніть кнопку "Install" (встановити), після чого пакет "forecast" буде встановлений.

Як варіант ми можемо встановити будь-який пакет, знаючи його назву, за допомогою команди в консолі:

Install.packages("smooth")

за умови, що він, звичайно, є в репозиторії CRAN. smooth - це пакет, функції в якому розробляю та підтримую я.

Деякі пакети доступні лише у вихідних кодах на сайтах типу github.com і вимагають, щоб їх зібрали перед цим. Для складання пакетів під Windows може знадобитися програма Rtools.

Щоб використати якийсь із встановлених пакетів, його потрібно підключити. Для цього його треба знайти в списку і відзначити галочкою або використовувати команду в консолі:

Library(forecast)

У Windows може виявитися одна неприємна проблема: деякі пакети легко скачуються і збираються, але ні в яку не встановлюються. R у разі пише щось типу: "Warning: unable to move temporary installation...". Все, що потрібно зробити в цьому випадку - додати папку з R у виключення в антивірусі (або вимкнути його на час встановлення пакетів).

Після завантаження пакета, нам будуть доступні всі функції, що входять до нього. Наприклад, функція tsdisplay() , використовувати яку можна так:

Tsdisplay(x)

Вона побудує нам три графіки, які ми обговоримо у розділі «Інструментарій прогнозиста».

Крім пакета forecast, я досить часто для різних прикладів використовую пакет Mcomp. Він містить ряд даних з бази «M-Competition». Тому рекомендую вам його також встановити.

Дуже часто нам будуть потрібні не просто набори даних, а дані класу ts (тимчасовий ряд). Для того щоб з будь-якої змінної зробити тимчасовий ряд, потрібно виконати наступну команду:

Тут параметр start дозволяє вказати дату, з якої починається наш тимчасовий ряд, а frequency задати частоту даних. Число 12 у прикладі вказує на те, що ми маємо справу з місячними даними. В результаті виконання цієї команди ми трансформуємо наш вектор «x» у тимчасовий ряд місячних даних, що починається з січня 1984 року.

Це основні елементи R та RStudio, які нам знадобляться.

P.P.S. Досить хороший посібник з R опублікований на сайті QSAR4U Павлом Поліщуком.

P.P.P.S. Багато інформації про R представлено на офіційному сайті.

Самостійна робота

А ось вам завдання для самостійного виконання в R. Виконайте наступні команди, подивіться, що вийде і спробуйте зрозуміти чому так вийшло:

(41/3 + 78/4)*2 2^3+4 1/0 0/0 max(1,min(-2,5),max(2,pi)) sqrt(3^2+4^2 ) exp(2)+3i log(1024) log(1024, base=2) c(1:3) c(1:5)*2 + 4 x

Давайте трохи поговоримо про мову програмування під назвою R. Останнім часом ви могли у нас у блогах прочитати статті про та , ті сфери, де просто необхідно під рукою мати потужну мову для роботи зі статистикою та графіками. І R саме з таких. Новачку у світі програмування буде досить непросто в це повірити, але сьогодні R вже популярніший за SQL, він активно використовується в комерційних організаціях, дослідницьких та університетах.

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

Що таке мова R, навіщо вона вам потрібна і як її можна використовувати з розумом, можна дізнатися з прекрасного Руслана Купцова, який він провів трохи менше року тому в рамках GeekWeek-2015.

Книги

Тепер, коли в голові є певний порядок, можна приступати до читання літератури, благо більш ніж достатньо. Почнемо з вітчизняних авторів:


Інтернет ресурси

Будь-яка людина, яка бажає вивчити будь-яку мову програмування, обов'язково має відвідати в пошуках знань два ресурси: офіційний сайт його розробників і найбільше онлайн співтовариство. Що ж. не будемо робити виняток і для R:

Але знову перейнявшись турботою до тих, хто англійську мову вивчити ще не встиг, а ось вивчити R ну дуже хоче, згадаємо кілька російських ресурсів:

А поки що довершимо картину невеликим списком англомовних, але від цього не менш пізнавальних сайтів:

CRAN - власне, місце де можна завантажити до себе на комп'ютер середовище розробки R. Крім того, мануали, приклади та інше корисне чтиво;

Quick-R - коротко і зрозуміло про статистику, методи її обробки та мову R;

Burns-Stat - для R і для попередника його S з великою кількістю прикладів;

R for Data Science – ще одна книга від Гаррета Гроулмунда (Garrett Grolemund), переведена у формат онлайн підручника;

Awesome R - добірка найкращого коду з офіційного сайту, розміщена на нашому улюбленому GitHub;

Mran – мова R від Microsoft;

Tutorial R – ще один ресурс із впорядкованою інформацією з офіційного сайту.