R – Езика на науката

„R: A Language and Environment For Statistical Computing” е названието на един от най – популярните и разпространени в академичните среди по света езици за програмиране. Създаден през 1996 г. (самия проект стартира още през 1990 г.) от двама професори по статистика – Робърт Джентълмен и Рос Иака от Университета в Оукланд, Нова Зеландия като open-source алтернатива на програмния език S. В самото си начало той е озаглавен „GNU S” като по-късно е преименуван на R което произлиза от началните букви на малките имена на неговите създатели. S, като език за програмиране е творение на екипа на Джон Чембърс от лабораториите на Бел в Ню Джърси, САЩ и широко разпространен измежду статистиците и математиците. За разработването на S, през 1998 г. Чембърс е награден от АСМ (Association for Computing Machinery) с Software System Award. Езика има множество имплементации като най-популярната е в основата на известните пакети за статистическа и математическа обработка на данни S-Plus и SAS. По своята същност R се явява като своеобразен диалект на S, доказателство за което е факта че голяма част от сорс кода за S-Plus и SAS без проблем може да се използва и под R. Колкото и да е странно, въпреки че R е своеобразен безплатен аналог на S и в този смисъл негов конкурент, Джон Чембърс и колегите му не само че не опълчват срещу проекта, а напротив – приветстват го и в момента повечето от тях, включително и Чембърс са членове на R Foundation – организацията занимаваща се с поддръжката и разпространението на езика. И все пак какво е R ? Както се разбира от неговото пълно име: програмен език и развойна среда за статистическа и математическа обработка на данни – ни повече, ни по-малко, мощен инструмент използван от хиляди учени, преподаватели и студенти по света, от най-различни дисциплини и направления. През последните години изучаването на езика се превъща в стандарт в катедрите по статистика и математика на повечето от университетите в Западна Европа и САЩ. Все повече и повече научни и бизнес институции където се провеждат статистически и математически изследвания и обработка на данни изискват от настоящите и бъдещи си служители умения за работа с R. Започнал своето начало като научен проект на двама професори по статистика с цел създаването на open-source алтернатива на комерсиалния S, днес R се радва на все по-нарастваща популярност. Сред поддържащите и използващите езика институции (донори и бенефициенти) са компании като: Google; Аstra Zeneca – Швеция; Мerck – САЩ; АТ&Т Labs, Ню Джърси – САЩ; Baxter Healthcare Corporation, Калифорния – САЩ; Еf-prime Incorporation – Япония; ViaLactia Biosciences – Нова Зеландия; Telecom New Zealand – Нова Зеландия; а от научните институции се открояват имената на Университета в Нантес – Франция; Станфорския Университет, Калифорния – САЩ; Факултета по Икономика на Университета в Грьонинген – Холандия; Департамента по Икономика на Университета в Милано – Италия; Центъра за борба с рака на гърдата към Колежа по Медицина в Хюстън, Тексас – САЩ; Института Дана – Фарбер за борба с рака в Бостън – САЩ; Департамента по Биостатистика към Университета Джон Хопкинс в Мериленд – САЩ; Департамента по Биостатистика към Медицинския Университет в Вандербилт – САЩ; Департамента по Икономика на Стохолмския Университет – Швеция; Департамента по Статистика на Университета Уисконсин – Мадисън – САЩ; Департамента по Статистика на Университета на щата Айова – САЩ; Центъра по Медицинска Биостатистика на Масачузетския Университет – САЩ; и много други. По думите на Дарил Прегибон, изследовател в Google и цитиран в статията във вестник New York Times посветена на R, “Езика за компанията е толкова важен че е трудно да си представим какво би било ако него го нямаше. R позволява на учените на провеждат сложни анализи без да е необходимо те да притежават задълбочени познания в в областта статистиката, математиката, както и на компютрите и компютрите системи“. Освен всичко друго, съществуват и множество допълнителни проекти свързани с R като например: Bioconductor – софтуер използващ R за анализ на данни в областта на генетиката. Този проект в момента се разработва от самия проф. Робърт Джентълмен. Друг подобен е софтуера Zoo/Phyto Image за автоматичен таксономичен анализ на проби от зоо и фито планктон на база на дигитални снимки.

Общ вид на R IDE под Widows

Основни характеристики:

  • Обектно-ориентиран, прост и лесен за научаване програмен език наподобяващ по синтаксис на С, но семантично подобен на Scheme, като притежава и прилики с Perl, Python и Lisp. Езика включва възможности за работа с различни типове данни – както числови, така и стрингови и логически (булеви). Обектни структури като: вектори, фактори, списъци, матрици и датафреймове (data frames). Наличие на условни преходи от рода на if-else, както и switch която при R е просто функция (switch (statement, list)) и функцията eval за оценка дали е изпълнено дадено условие или не. Цикли от типа на for, while и repeat и възможности за създаване на потребителски функции. Езика поддържа в пълна степен обектно-ориентираното програмиране аналогично на С++. Възможностите на R в това отношение по настоящем се използват широко при изграждането на математически симулации и модели на различни биологични и природни системи.

  • Разнообразни механизми за въвеждане на първоначалните данни – R IDE притежава вграден редактор за данни, подобен на този на програмите за електронни таблици, който се извиква от интерпретатора чрез функцията edit ( ) – например mydata