R был создан в 1992 году профессорами статистики Россом Ихака и Робертом Джентльменом, которые случайно встретились в Новой Зеландии и решили написать новый язык. Поскольку он наследовал языку S, то по первым буквам имен создателей новинку назвали R..
Из Новой Зеландии R разлетелся по всему миру на жесткие диски студентов и преподавателей, специалистов по данным, биологов и биоинформатиков.
Практичность R сделала его идеальным языком программирования для обучения: новички могут получить немедленную визуализацию своих данных, выполнив самые простые операции. О базовых, но и самых полезных вещах в R поговорим дальше.
«Грамматика графики» ggplot2
10 июня 2007 года Хэдли Уикхем выпустил ggplot2. Сегодня это один из самых популярных пакетов в R. Его можно считать сильнейшей альтернативой базовому R в сфере построения графиков и визуализации. ggplot2 настолько самостоятелен, что его можно даже назвать отдельным диалектом R.
gg в названии пакета означает «грамматику графики» — особый язык для описания графиков. Все графики состоят из трех компонентов: данных, сопоставления этих данных с визуальными элементами и геометрической формы, представляющей сопоставленные данные. Эти компоненты вместе с масштабом, статистическими преобразованиями и системой координат как раз составляют «грамматику графики», которая дает свободу в создании практически любой визуализации.
15 сентября 2016 года ggplot2 вместе с другими «вездесущими» пакетами, такими как dplyr для обработки данных и tibble для их хранения были объединены tidyverse. Этот набор пакетов переосмысливает операции с потоками данных в R и вводит оператор pipe «%>%», благодаря которому можно соединять программы и прогонять данные сквозь них. Да, большинство его возможностей доступны в базовом R, но tidyverse упрощает их использование и обеспечивает более интуитивно понятный и читаемый синтаксис.
Bioconductor — репозиторий для биоинформатиков
В начале 2000-х после широкого распространения микрочипов, а потом с началом эры NGS началось лавинообразное накопление биологических данных. Вскоре стало очевидно, что и в R необходим специализированный проект для биоинформатиков. В 2001 году под руководством Роберта Джентльмена был запущен Bioconductor с глобальной целью разработки инструментов R для биоинформатики, особенно анализа омиксных данных.
Сегодня Bioconductor — ворой по величине репозиторий пакетов R после CRAN. В Bioconductor размещены самые загружаемые инструменты вычислительных биологов: от изучения дифференциальной экспрессии (DESeq2 и limma) до анализа генома (GenomicRanges).
RMarkdown — красиво писать не запретишь
Но как же эстетично представить полученные с помощью R результаты? Такую возможность нам дает язык разметки RMarkdown. Он позволяет легко сформировать отчет о работе.
Система Rmarkdown была впервые представлена пакетом Knitr в 2012 году, а теперь поддерживается специальным пакетом rmarkdown.
Сгенерированный документ Rmarkdown представляет собой текстовый файл с расширением Rmd. В документе можно совместить код, результаты его исполнения и написанный текст. При желании вставить картинки, ссылки, видео и многое другое.
Rmarkdown — это система, которая позволяет авторам обмениваться не только необработанными данными, но и полностью воспроизводимыми пайплайнами, что увеличивает прозрачность в науке. В практичности Rmarkdown можно легко убедиться, используя RStudio, которая полностью поддерживает язык разметки.
Где писать код на R: интегрированная среда Rstudio
Помимо просто встроенной консоли R на компьютере можно применять многое другое: текстовые редакторы, интегрированную среду разработки (IDE), графические пользовательские интерфейсы (GUI) для развертывания своей работы в одном месте без каких-либо дополнительных окошек.
Одна из самых популярных сред разработки R, особенно у молодых программистов — RStudio. RStudio была первой IDE для R: ее запустили 28 февраля 2011 года.
RStudio задумывалась не только как редактор для написания и выполнения кода R, но и как растущая вселенная для разработки R и для выхода языка программирования за пределы статанализа. Само приложение доступно как в десктопной версии, так и для браузеров, подключенных к серверу. RStudio объединяет консоль, редактор с подсветкой синтаксиса с функцией дополнения по табуляции, среду с переменными, вывод графического изображения, историю команд и справку в одном рабочем пространстве.
Благодаря тому, что RStudio изначально поддерживает интерфейс с RMarkdown, она способствует проведению воспроизводимых научных исследований и грамотному программированию, позволяя сохранять код и дополнять его текстовой информацией.
А вы используете R в своей работе? Следите за выходом новых пакетов?