Язык R

  • R — язык программирования для статистической обработки данных и работы с графикой, а также свободная программная среда вычислений с открытым исходным кодом

  • Язык программирования R - специфичный, созданный специально для обработки данных. R - основный язык/инструмент для тех, кто решил заняться “наукой о данных” (data science).

  • R широко используется одними из лучших компаний, которые сегодня нанимают специалистов в области науки о данных: Google, Facebook,…

  • Освоение навыков таких, как: манипуляции с данными, визуализация данных и машинное обучение в среде R намного проще

  • R очень популярен среди ученых и исследователей а также в коммерческих компаниях.

Преимущества R:

  • Язык создавался специально для анализа данных: запись конструкций языка понятна многим специалистам в области.

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

  • Установка IDE (RStudio) и необходимых пакетов обработки данных предельно упрощена.

  • Удобный репозиторий пакетов и обилие готовых тестов практически под все методы Data Science и машинного обучения. Эффективная работа с векторами и матрицами.

  • Несколько качественных пакетов для визуализации данных для различных задач (ggplot2, lattice, ggvis, googleVis, rCharts и т.д.).

Практически без сомнений, я рекомендую изучать R в качестве вашего первого “языка программирования для науки о данных”.

Написание пакета для R

Для выпечки своего домашнего пакета R потребуется установить пакеты:

  • devtools — удобство разработки пакетов;

  • roxygen2 — документирование своих функций;

  • testthat — тестирование своих функций;

  • covr — информация о покрытии тестированием;

  • lintr — проверка стиля кода.

Для написания пакета под windows надо установить RTools

1. Первичное создание пакета

1.1 Выбрали имя для пакета, пусть будет honey hello)

1.2 Создали пустую структуру папок для пакета:

devtools::create("где-то там/hello")

Или: New project… > New directory > R Package > Name >….

1.3 В папке hello редактируем файл DESCRIPTION с описанием пакета:

Package: test
Type: Package
Title: What the Package Does (Title Case)
Version: 0.1.0
Author: Who wrote it
Maintainer: The package maintainer <yourself@somewhere.net>
Description: More about what it does (maybe more than one line)
    Use four spaces when indenting paragraphs within the Description.
License: What license is it under?
Encoding: UTF-8
LazyData: true

Отметим:

  • пакеты, которые мы используем при написании нашего пакета my_pacakge пишем в раздел Imports;

  • поле Title не должно содержать точку в конце;

  • поле Description должно состоять из одного или нескольких предложений и должно содержать точку в конце.

1.4 В подпапке R создаётся файл hello.R:

# Hello, world!
#
# This is an example function named 'hello' 
# which prints 'Hello, world!'.
#
# You can learn more about package authoring with RStudio at:
#
#   http://r-pkgs.had.co.nz/
#
# Some useful keyboard shortcuts for package authoring:
#
#   Install Package:           'Ctrl + Shift + B'
#   Check Package:             'Ctrl + Shift + E'
#   Test Package:              'Ctrl + Shift + T'

hello <- function() {
  print("Hello, world!")
}

Теперь необходимо заменить оглавление функции hello.Р на:

#' @title
#'
#' @description
#'
#' @param
#'
#' @return
#'
#' @examples
#'
#' @export

1.5 Инициализируем git-репозиторий

1.6 Настраиваем синхронизацию с удалённым github-репозиторием.

2. Разместить свой собственный пакет на Github

Для этого:

  • В первую очередь надо установить клиент git

  • Аккаунт и репозитории на github.com: надо зарегистрироваться на https://github.com/. После чего можно будет создавать свои репозитории

Если ваш сайт — это статические HTML-страницы, то необязательно приобретать хостинг, можно воспользоваться сервисом GitHub Pages. Для этого у вас должен быть аккаунт на Гитхабе.

Шаг 1. Создание нового репозитория:

Важно, чтобы название репозитория было в виде «username.github.io», где username — имя вашего аккаунта на Гитхабе. В нашем примере это будет «fovisi.github.io».

Шаг 2.Загрузка файлов

Шаг 3. Проверка работы сайта

Чтобы проверить работу сайта, достаточно перейти по адресу username.github.io, в нашем случае это htmlacademy.github.io. Вуаля!

3. Установка пакета из гитхаб

Любой другой человек сможет установить наш пакет командой

devtools::install_github("username/hello")

4. Создание сайта для пакета

Я использую пакет pkgdown для создания элегантной и статической справочной страницы для R-пакета

Installation
# Install release version from CRAN
install.packages("pkgdown")

# Install development version from GitHub
devtools::install_github("r-lib/pkgdown")

Чтобы создать веб-сайт с помощью пакета pkgdown, все, что вам нужно, что иметь пакет R, размещенный на GitHub

Откройте проект, соответствующий вашему пакету, и (как минимум) запустите:

require(devtools)
use_readme_rmd()
use_news_md()
use_vignette("test")  #замените на название вашего пакета

Так как для использования pkgdown ваш пакет должен быть на Git Hub, вы также можете:

use_github_links()

На этом этапе в структуре файла пакета должен быть:

  • файл README.Rmd файл (который также используется для создания " README.md " файл для Git Hub),

  • и NEWs.md файл.

  • У вас также должна быть подпапка man, содержащая .Rd файлы документирования функций (как правило, автоматически создается из roxygen комментарий, используя evtools::document().

  • Наконец, у вас должен быть test.Rmd Файл в подпапке vignettes (который используется, например, devtools::build_vignette () для автоматического создания виньетки для пакета).

Чтобы создать стандартный сайт pkgdown, просто запустите:

devtools::install_githb("hadley/pkgdown")
library(pkgdown)
build_site()

build_site () сделает несколько вещей:

  • создайте подпапку” docs " в вашей файловой структуре, куда будут помещены все материалы, необходимые для рендеринга сайта;

  • вязать README.Rmd к " docs / index.формат HTML.” Это будет главная страница вашего сайта;

  • вязать NEWs.md к " docs / news / index.html " (таким образом, каждый раз, когда вы обновляете NEW.mds, новостной раздел сайта может обновляться автоматически);

  • свяжите все ваши файлы “Rd” с “docs/reference/” в виде html-файлов

  • вяжите любые файлы Rmd в подпапке” vignettes “в папку” docs/articles " как отдельные файлы html;

  • Соберите все вместе с помощью какой-то магии, чтобы создать рабочий веб-сайт и открыть предварительный просмотр в RStudio Viewer или вашем браузере.

  • Получившийся сайт будет выглядеть примерно так: