EN | PT | TR | RO | BG | SR
;


NEXT TOPIC

СЪДЪРЖАНИЕ НА МОДУЛА




Модул 1: Въведение в R и импортиране/манипулиране на данни




Въведение в програмирането на R и RStudio.

Основи на програмирането в R: типове данни, променливи, основни операции.

Импортиране и манипулиране на данни в R: четене на данни в R, манипулиране на данни с помощта на dplyr, tidyr и други пакети.

Основни графики в R: създаване на диаграми на разсейване, стълбовидни диаграми и линейни графики с помощта на ggplot2.



В днешния свят, основан на данни, умението да се извличат значими прозрения от данните е изключително търсено умение. За изследователите, специалистите по данни и анализаторите езикът за програмиране R и RStudio са незаменими инструменти в техния арсенал. R е известен със своята гъвкавост при статистическите изчисления и анализа на данни, а RStudio предлага удобна за потребителя интегрирана среда за разработка (IDE), която подобрява работата с R. Този модул служи като основополагащ етап, запознавайки участниците с основните аспекти на R - от синтаксиса до мощните му възможности за манипулиране на данни и основните техники за визуализация на данни. Освен това ще се запознаем с критичното значение на ефективното импортиране и управление на данни в контекста на статистическия анализ. В края на този модул участниците ще придобият умения в следните области (R Core Team, 2021 г.).



Във влиятелната книга R for Data Science, чиито автори са Хадли Уикъм и Гарет Гролемунд, се твърди, че "R е инструмент, а не магическа кутия, която изхвърля резултати" (Grolemund & Wickham, 2016). Разбирането и оползотворяването на потенциала на R започва с познаването и комфорта в неговата среда. Именно тук влиза в действие RStudio.

RStudio: RStudio е интегрирана среда за разработка, която подобрява работата с R. Тя предоставя интерактивна платформа за работа с R, като го прави достъпен за потребители от всички нива. За да започнете пътуването си с R, е необходимо да се запознаете с RStudio.

Ето как да започнете:

Монтаж: Преди да започнете приключението си с R, ще трябва да инсталирате R и RStudio. И двете са свободно достъпни и са съвместими с различни операционни системи, включително Windows, macOS и Linux.

Интерфейс на RStudio: След като сте инсталирали R и RStudio, отворете RStudio. Интерфейсът на RStudio се състои от четири панела: Редактор на скриптове (където ще пишете кода си), Конзола (където кодът се изпълнява и се показват резултатите), панел Околна среда/История (който показва текущото работно пространство и историята на командите) и панел Файлове/Плотове/Пакети/Помощ, който ви позволява да навигирате във файловете, да преглеждате плотове, да управлявате пакети и да получавате достъп до помощната документация.

R Сценарий: В редактора на скриптове можете да записвате, редактирате и запазвате своя R код. Добра практика е да създавате и запазвате R скриптове за вашите проекти, тъй като това улеснява възпроизвеждането на работата ви и споделянето ѝ с други хора.

Изпълнение на кода: За да изпълните код на R, просто го въведете в редактора на скриптове и натиснете Ctrl+Enter (или Command+Enter за macOS) или щракнете върху бутона "Run". Кодът ще се изпълни в Конзолата и всички изходи или резултати ще се покажат там.

Работно пространство: В панела Environment/History се показва текущото работно пространство на R, което включва обекти като рамки от данни, променливи и функции, които създавате по време на сесиите си с R. Това е полезен начин да следите данните и променливите си.

Помощ: Когато се нуждаете от помощ за дадена функция или пакет, можете да използвате раздела Help, за да получите достъп до документацията на R и да намерите информация за конкретни функции или пакети.



С RStudio като интерфейс вече сте готови да навлезете в света на програмирането в R. По-долу са изброени някои основни аспекти, които трябва да разберете:

Типове данни: R предлага няколко основни типа данни, включително числови, символни, логически и фактори (Grolemund & Wickham, 2016). Разбирането на тези типове данни е от решаващо значение за ефективното манипулиране на данни.

Променливи: В R променливите се използват за съхранение на данни. Можете да си представите променливата като контейнер, в който се съхранява конкретна стойност, например число, символ или логическа стойност (истина или лъжа). Променливите се използват широко в R за анализ на данни.

Основни операции: R ви позволява да извършвате широк спектър от операции с вашите данни. Това включва аритметични операции (събиране, изваждане, умножение и деление), логически операции (сравнения) и други. Овладяването на тези операции е от съществено значение за манипулирането на данни.

Вектори: В R векторът е основна структура от данни, която съдържа елементи от един и същ тип данни. Можете да създавате вектори с функции като c() (комбиниране) или като използвате двоеточие :, за да генерирате последователност от числа. Векторите са от основно значение за анализа и манипулирането на данни.



Ефективното импортиране и манипулиране на данни е в основата на ефективния анализ на данни. R предлага безброй пакети и функции, които ви помагат да четете данни от външни източници и да ги подготвяте за анализ. Два незаменими пакета за манипулиране на данни са dplyr и tidyr.

dplyr: Разработен от Хадли Уикъм, dplyr е пакет, който предлага граматика за манипулиране на данни. Той предоставя набор от функции за изпълнение на общи задачи за манипулиране на данни с последователен и интуитивен синтаксис. Основните функции в dplyr включват filter() (за филтриране на редове), select() (за избор на колони), arrange() (за сортиране), mutate() (за създаване на нови променливи) и summarize() (за обобщаване на данни). Разбирането и използването на функциите на dplyr ще ви даде възможност ефективно да манипулирате и трансформирате данните си.

tidyr: Докато dplyr се фокусира върху манипулирането на данни, tidyr се занимава с подреждането им. Данните се считат за "подредени", когато са организирани по начин, който улеснява работата с тях. tidyr предоставя функции като gather() (за преобразуване на широки данни в дълги) и spread() (за преобразуване на дълги данни в широки). Като подреждате данните си с tidyr, вие ги правите по-подходящи за анализ и визуализация.



Ефективният анализ на данни се простира отвъд простото манипулиране и обобщаване на данни. Визуализацията на данните играе ключова роля за разбирането и съобщаването на резултатите. R предлага богат набор от пакети за визуализация на данни, като ggplot2 е един от най-популярните и универсални варианти.

ggplot2: ggplot2 е пакет за създаване на сложни и персонализирани визуализации на данни, разработен от Хадли Уикъм. Той използва многопластова графична граматика, която ви позволява да изграждате визуализации стъпка по стъпка. С ggplot2 можете да създавате широк набор от визуализации, включително диаграми на разсейване за изследване на връзките между променливите, стълбовидни диаграми за сравняване на категории и линейни графики за показване на тенденции във времето. Разбирането на ggplot2 ще ви позволи да създавате информативни и естетически приятни визуализации, които вдъхват живот на вашите данни.



Започвайки пътуването си в света на R и манипулирането на данни, вие сте направили първата стъпка към овладяването на един универсален и мощен инструмент за анализ на данни. R и RStudio, когато се използват в хармония, предлагат интерактивна и ефективна среда за манипулиране и визуализиране на данни. Като разбирате типовете данни, променливите, основните операции и възможностите на dplyr, tidyr и ggplot2, вие сте се снабдили с основните знания, необходими за успешен анализ на данни. С тези знания можете да започнете да изследвате, анализирате и визуализирате данни, за да откриете ценни прозрения и да съобщите ефективно резултатите си.



R, безплатен език за програмиране с отворен код, е известен със своята гъвкавост в областта на статистическите изчисления и анализа на данни (Gentleman & Temple Lang, 2004). RStudio, интегрирана среда за разработка (IDE), предоставя интерактивна платформа за работа с R, която го прави достъпен за потребители от всички нива. Участниците ще се запознаят с интерфейса на RStudio, ще научат как да навигират в скриптовете на R и ще разберат работния процес на зареждане, обработка и визуализиране на данни.



Основното разбиране на програмирането в R изисква разбиране на типовете данни, променливите и основните операции. R предлага различни типове данни, включително числови, символни, логически и фактори (Grolemund & Wickham, 2016). Участниците ще научат как да декларират и манипулират променливи, да извършват аритметични операции и да използват функции за изпълнение на конкретни задачи. Като овладеят тези основи, участниците ще могат да изпълняват ефективно задачи, свързани с данни.

Започването на пътешествие в областта на програмирането на R означава да се възприемат основните елементи, които са в основата на анализа на данни и статистическите изчисления. Основното разбиране на програмирането на R изисква цялостно разбиране на типовете данни, променливите и основните операции. В този модул ще разкрием същността на тези основополагащи понятия, като предоставим на участниците основните знания и умения за ефективно манипулиране на данни и ефективно изпълнение на задачи (Grolemund & Wickham, 2016).



В основата на програмирането в R лежи понятието за типове данни. По същество типовете данни определят начина, по който R интерпретира и взаимодейства с предоставената от вас информация. R предлага разнообразна гама от типове данни и разбирането на тяхната същност е от основно значение за използването на възможностите на езика. Нека разгледаме най-важните типове данни:

  • Числено: Числените типове данни обхващат широк набор от числови стойности. Те могат да включват цели числа (цели числа) и реални числа (десетични дроби). Разбирането на числовите типове данни е от решаващо значение за извършването на математически и статистически операции.
  • Характер: Типовете данни за знаци се състоят от текст и се използват за представяне на думи, изречения или всяка друга форма на текстова информация. Възможността за обработка на символни данни е безценна при работа с текст или етикети.
  • Логично: Логическите типове данни са двоични по своята същност, като представят верни или неверни стойности. Те са от основно значение за създаване на условия и вземане на решения в кода на R.
  • Фактори: Факторите са уникален тип данни в R, който представя категорични данни. Те са особено полезни при работа с променливи, които имат краен брой категории или нива.


Променливите в R са подобни на контейнери, в които се съхраняват данни. Те служат като основни градивни елементи на всяка програма в R. Можете да си представите променливата като обозначено място за съхранение на определена информация. Променливите в R трябва да получат информативни имена, които отразяват вида на данните, които съхраняват. Например променлива, наречена "age", може да съхранява възрастта на лицата в набор от данни.

В R декларирате променлива, като ѝ присвоявате стойност с помощта на оператора за присвояване <-. Например, за да декларирате променлива "x" със стойност 5, трябва да напишете:

x <- 5

Променливите могат да съхраняват данни от различни типове данни. Например можете да декларирате символна променлива по следния начин:

name <- "John"

След като декларирате дадена променлива, можете да я използвате в кода на R за различни операции и изчисления. Възможността за работа с променливи е от основно значение за анализа на данни и програмирането в R.



R ви дава възможност да извършвате широк спектър от операции с вашите данни. Тези операции включват:

  • Аритметични операции: R ви позволява да извършвате основни аритметични операции като събиране (+), изваждане (-), умножение (*) и деление (/). Тези операции са особено полезни при работа с числови данни.
  • Логически операции: Можете да използвате логически оператори като по-голямо от (>), по-малко от (<), равно на (==) и не равно на (!=), за да сравнявате стойности и да създавате логически условия. Логическите операции са от съществено значение за вземането на решения във вашия код.
  • Функции: R предлага огромен брой вградени функции, които служат за различни цели. Функциите са предварително дефинирани операции, които можете да използвате за изпълнение на конкретни задачи. Например функцията mean() изчислява средната стойност на набор от числа, а функцията paste() комбинира символни низове. Разбирането на начина на използване на функциите е от решаващо значение за автоматизирането на задачи и извършването на сложни операции.

Доброто разбиране на типовете данни, променливите и основните операции е основата, върху която можете да изградите уменията си за програмиране в R. С тези фундаментални познания сте подготвени да се справяте с широк спектър от задачи, свързани с данни - от извършване на прости аритметични операции до създаване на сложни логически условия и използване на функции за оптимизиране на кода.

Докато продължавате да навлизате в света на програмирането на R, тези основи ще ви служат като пътеводна светлина, позволяваща ви ефективно да манипулирате данни, да вземате информирани решения и да автоматизирате задачи. С всяка следваща стъпка ще се приближавате към овладяването на данните, разкривайки потенциала за задълбочен анализ и проучване на данни.



Ефективното импортиране и манипулиране на данни е в основата на ефективния анализ на данни. В този модул навлизаме в сферата на обработката на данни в средата на R, като предоставяме на участниците необходимите умения за извличане, манипулиране и подготовка на данни за анализ. Доброто разбиране на импортирането и манипулирането на данни е от ключово значение, за да се гарантира, че вашите данни са в подходяща форма за анализ и за рационализиране на целия работен процес на предварителна обработка на данни (Wickham et al., 2021).



Първоначалната стъпка във всяко начинание за анализ на данни е събирането на данни. R предлага огромен набор от инструменти и пакети, които улесняват безпроблемното импортиране на данни от различни външни източници. Независимо дали данните ви се намират в CSV файл, таблица на Excel, база данни или други формати, R предоставя средствата за достъп до тях. В този модул ще бъдат разгледани общите инструменти и методи за импортиране на данни в R:

  • csv() и read.table(): Тези функции ви позволяват да четете данни съответно от CSV и tab-delimited файлове. Те предлагат множество опции за персонализиране на процеса на импортиране, като например задаване на разделители и обработка на липсващи стойности.
  • Пакет readxl: Когато работите с файлове на Excel, пакетът readxl е вашият полезен инструмент. Той опростява извличането на данни от работни книги, листове и диапазони на Excel.
  • readr Пакет: Пакетът readr, също дело на Хадли Уикъм, предлага набор от функции за бързо и ефективно импортиране на данни. Той подобрява процеса на импортиране на данни, като предоставя функции като read_csv() и read_delim(), които оптимизират четенето на текстови данни.

Връзки с бази данни: R може да се свързва с бази данни с помощта на пакети като DBI и RODBC, което ви позволява да извличате данни директно от системи за бази данни. Това е особено полезно при работа с големи масиви от данни, съхранявани в бази данни.



Манипулирането на данни често включва задачи като филтриране, обобщаване, групиране и обединяване на набори от данни. Пакетът dplyr, чийто автор е Хадли Уикъм, опростява тези операции, като предоставя последователна и интуитивна граматика за манипулиране на данни. Той въвежда пет основни глагола:

  • filter(): Използвайте този глагол, за да извлечете определени редове от набора от данни въз основа на определени условия.
  • arrange(): Подредете редовете на набора си от данни въз основа на една или повече променливи във възходящ или низходящ ред.
  • select(): Изберете подмножество от колони от набора от данни, за да се съсредоточите по-лесно върху съответните данни.
  • mutate(): Създавайте нови променливи или модифицирайте съществуващи, като прилагате функции или операции към данните си.
  • summarize(): Сгъстете данните си в обобщена статистика, като обобщите информацията по смислен начин.


Данните невинаги са във формат, който е най-подходящ за анализ. Пакетът tidyr се намесва, за да ви помогне да оформите данните си в подреден, организиран формат. Подредените данни са структурирани по начин, при който всяка променлива представлява колона, всяко наблюдение представлява ред, а всеки тип наблюдателна единица представлява таблица. Този структуриран формат опростява анализа и визуализацията на данните. С tidyr можете да извършвате операции, като например събиране на колони в двойки ключ-стойност и разпространяването им обратно в отделни колони.

В края на този модул ще придобиете умения за ефективно импортиране, манипулиране и трансформиране на данни с помощта на R. Импортирането и манипулирането на данни са първоначалните градивни елементи на анализа на данни и тези умения са от съществено значение за подготовката на данните за по-задълбочено проучване и анализ. Когато продължите да анализирате данни с R, ще откриете, че тези умения са безценни за гарантиране на качеството и пригодността на данните ви за целите на вашето изследване или анализ.



В сферата на анализа на данни способността за ефективно визуализиране на данни е умение от първостепенно значение. Визуализацията на данни не само помага за разбирането на основната структура и моделите в данните, но и служи като мощно средство за предаване на резултатите на другите. В този модул ще навлезем в света на визуализацията на данни, като използваме пакета ggplot2 - универсален инструмент за създаване на широк спектър от визуализации (Wickham, 2016).



ggplot2 на Хадли Уикъм е широко признат пакет в екосистемата на R, известен със своята гъвкавост и елегантен синтаксис. За разлика от базовите графики на R, които понякога могат да бъдат тромави и по-малко интуитивни, ggplot2 въвежда граматика на графиките, която опростява процеса на създаване на сложни и естетически приятни визуализации.

Един от основните принципи на ggplot2 е подходът на наслояване. Добавяте слоеве към графиката стъпка по стъпка, като постепенно изграждате визуализацията. Този подход е особено полезен, когато искате да създадете сложни графики с множество компоненти. Нека да се запознаем с видовете графики, които ще разгледаме в този модул:



Диаграмите на разсейване са безценни, когато трябва да се разберат връзките между две непрекъснати променливи. Те ви позволяват да визуализирате как промените в едната променлива влияят на другата. В ggplot2 създаването на диаграми на разсейване е лесен процес. Ще зададете данните, ще съпоставите променливите с естетически свойства (като позиция по осите x и y) и ще добавите точки или други геометрични елементи, за да представите данните.

Стълбовидните графики са чудесен избор за сравняване на категории или групи. Обикновено се използват за показване на бройки или пропорции на категорични данни. Можете да създавате както вертикални, така и хоризонтални стълбовидни диаграми в зависимост от предпочитанията си. В ggplot2 създаването на стълбовидни диаграми е интуитивно и много лесно за персонализиране. Можете да контролирате външния вид на стълбовете, етикетите на осите и цветовете, за да предадете ефективно данните си.

Линейните графики са вашият избор, когато искате да визуализирате тенденции и промени във времето. Тези графики са особено полезни за данни от времеви редове или всякакви данни, които имат естествена последователност. В ggplot2 създаването на линейни графики е едновременно просто и с големи възможности за персонализиране. Можете да нанасяте няколко линии върху една и съща графика, да персонализирате типовете и цветовете на линиите и да добавяте информативни етикети и анотации.

В края на този модул ще имате добри познания за това как да създавате диаграми на разсейване, стълбовидни диаграми и линейни графики с помощта на ggplot2. Уменията, придобити тук, ще ви дадат възможност да изследвате визуално и да съобщавате ефективно данните си. Визуализацията на данни е универсален език, който надхвърля дисциплинарните граници, и умението ви да създавате убедителни и информативни визуализации ще бъде ценно предимство по пътя ви към анализа на данни.

Този модул осигурява основата за умело използване на R и RStudio, като дава възможност на участниците да започнат своето пътуване в областта на анализа, манипулирането и визуализирането на данни.



Gentleman, R., & Temple Lang, D. (2004). Statistical analyses and reproducible research. Bioconductor Project. https://bioconductor.org/help/course-materials/2003/RESOURCES/inst/doc/HowTo/curation-1.pdf

Grolemund, G., & Wickham, H. (2016). R for data science. O'Reilly Media.

R Core Team. (2021). R: A language and environment for statistical computing. R Foundation for Statistical Computing. https://www.R-project.org/

Wickham, H. (2016). ggplot2: Elegant graphics for data analysis. Springer. https://ggplot2.tidyverse.org /

Wickham, H., Averick, M., Bryan, J., Chang, W., McGowan, L. D., François, R., ... & R Studio. (2021). Welcome to the tidyverse. Journal of Open Source Software, 6(1), 1686.