Подбрасываем монетку с помощью языка R

25.04.2019 palmax

Подбрасываем монетку с помощью языка R

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


На СЛ я часто замечаю, как умные и опытные люди моделируют или вычисляют всё в экселе. Это тоже отличный инструмент, но я думаю им стоит обратить внимание на язык R и попробовать, ничего сложного, как оказалось, там нет. Конечно какие-то базовые навыки программирования всё же потребуются.

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

Настройка среды для запуска R

Сразу хочу сказать, что ничего сложного в настройке нет. Нужно скачать пару файлов и последовательно их установить. Никаких особых настроек и сложных выборов, качаем и ставим, всё заработает.


Сначала вам необходимо поставить само ядро для языка R, его можно взять здесь cran.r-project.org/Там есть версии для всех популярных ОС, но я полагаю здесь большинство использует Windows, тогда переходим на cran.r-project.org/bin/windows/base/ и кликаем по «Download R 3.5.3 for Windows» (79Мб). Далее устанавливаем этот файл.

Затем нам нужно скачать саму среду разработки на языке R. Их большое множество, платных и бесплатных. Будем использовать самую популярную и бесплатную версию, идём сюда www.rstudio.com/products/rstudio/download/ и под самой левой опцией FREE, жмем зеленую кнопку Download (около 150Мб). После скачивания, устанавливаем и можно запускать.

Простой пример работы в RStudio

После того как вы открыли R студию, вы увидите открытую консоль слева. Давайте попробуем что-нибудь написать здесь, чтобы подогреть ваш интерес. Введите в консоль rnorm(10) — вы увидите 10 цифр сгенерированных по нормальному распределению. Введите hist(rnorm(100)) — вы увидите гистограмму для 100 цифр сгенерированных по нормальному распределению. Не правда ли удобно? Всего пара команд, одна строка, а у вас уже сгенерированные данные и график. Другие языки для этого требуют гораздо больше времени и умений.
Подбрасываем монетку с помощью языка R

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

Теперь давайте попробуем подбросить монетку. Скажем мы хотим подбросить монетку N раз, в случае орла мы умножаем результат на 1.01, в случае решки на 0.99. И построим график. Для этого создадим небольшой скрипт. Можно конечно сделать это и в консоли, но для общего развития сделаем скрипт. Выберем File -> New File -> R Script.

В окно скрипта, запишем следующий скрипт (можно скопировать и вставить):

x <- 100         # начальное значение
n <- 100         # количество подбрасываний
a <- array(n)   # пустой массив для результата

# lognormal
toss <- function(x)
   ifelse(rnorm(1, 0) > 0, x * 1.01, x * 0.99)  # если сл. число > 0 то умножаем на 1.01, иначе на 0.99

for (i in 1:n) {   # цикл от 1 до n
  x <- toss(x)    # подбрасываем и записываем результат в x
  a[i] <- x         # записываем x в массив результатов
}

plot(a, type = «l»)   # строим график результата

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

Каждый раз нажимая на кнопку, график будет меняться. Таким образом мы написали небольшую простенькую модель поведения актива, используя до селе нам не известный язык R. Далее попробую написать что-то более сложное и описать, если кому-то будет интересно.

Более подробная документация на русском языке по R tsamsonov.github.io/r-geo-course/ 

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