Программирование на R - от переменных к визуализациям

Исходный узел: 1075636

Эта статья была опубликована в рамках Блогатон по Data Science

Язык программирования R был разработан для статистических вычислений и графики, что делает его одним из желаемых кандидатов для науки о данных и анализа. Несмотря на то, что он, возможно, не пользуется большой популярностью среди новичков в этой области, многие ветераны и опытные специалисты по данным предпочитают R, а не Python.

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

R или Python? Причины этой облачной войны | Шанкар_ДК

Хотя я далеко не так квалифицирован, чтобы комментировать эту тему, я хотел бы сказать, что каждый новичок должен попробовать оба языка и решить для себя, что они хотят, а не следовать за толпой. Следуя своему собственному совету, я недавно начал изучать R, так как мой семестр закончился, и мне нечего было делать, и я подумал о том, чтобы поделиться своим опытом обучения с моими читателями.

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

Используемые наборы данных:

1. Титаник - машинное обучение после катастрофы

2. Виды ириса

3. Цены на жилье - продвинутые методы регрессии.

1) Вступление

2) Переменные и присвоение

3) Структуры данных

  • вектор
  • Массивы и матрицы
  • Списки
  • Факторы
  • кадры данных

4) Индексирование, нарезка и шаг

  • Векторы и матрицы
  • Списки и фреймы данных

5) Импорт данных

6) Контрольные заключения

  • заявление
  • Оператор If / else If / else
  • Пока цикл
  • оператор next и break
  • Для цикла
  • Вложенный цикл for

7) Функции

8) Манипуляция DataFrame с использованием дплир

  • Выбрать()
  • фильтр()
  • договариваться()
  • переименовать ()
  • мутировать ()

9) Построение графика с помощью R

  • Гистограмма
  • Блочная диаграмма
  • разброс точек
  • Линейный график
  • Барплот
  • Круговая диаграмма

10) Визуализация с использованием ggplot2

  • разброс точек
  • Гистограмма
  • Блочная диаграмма
  • Барплот
  • График плотности
  • Сюжет для скрипки
  • Круговая диаграмма
  • Линейный график
  • Карты

11) Корреляционная тепловая карта с использованием заговор

12) С примечаниями

Введение

R это язык программирования, а также бесплатная среда статистических вычислений. Он был выпущен в 1993 году и является диалектом S язык программирования. Как и Python, R имеет около 13000 пакетов библиотек для анализа данных, статистических методов и визуализаций. Прочтите официальную документацию для получения более подробной информации, а теперь время для технических и интересных вещей!

Программирование на R
изображение 1 

Переменные и присваивание в R

В R оператор присваивания <-

x <- 21 # присвоить значение 5 переменной xx # распечатать значение x

вывод:

21

Мы используем круглые скобки (), чтобы одновременно присвоить значение и распечатать его.

(y <- 5) # присваиваем значение 5 переменной y и выводим его значение

вывод:

5

Структуры данных в R

Как и любой другой язык программирования, R имеет свои контейнеры, называемые типами данных, для хранения значений или информации. R имеет 5 основных типов данных:

  1. целые
  2. двойники
  3. логический
  4. символы
  5. комплекс

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

  • вектор: последовательность первичных типов данных
  • Массивы и матрицы: многомерный набор однородных векторов
  • Списки: векторы с однородным или неоднородным типом (т.е. могут содержать разные или похожие типы базовых типов данных)
  • Факторы: категориальные или порядковые данные
  • Фрейм данных: многомерный массив возможных разнородных типов данных

Давайте рассмотрим несколько примеров этих вторичных типов данных:

1) Вектор

Это последовательность схожих типов данных. Функция конкатенации c () может использоваться для объединения данных для создания векторов. Простые последовательности могут быть созданы с помощью оператора двоеточия ':'.

a <- c (0.1, 0.9) # числовой ab <- c (TRUE, FALSE) # логический bd <- c ("a", "b", "c") # символ de <- 1:10 # целое число ef <- c (2 + 4i) # комплексный f

вывод:

вектор | программирование в R

Ассоциация seq () Функция также может использоваться для создания вектора с определенной последовательностью. Эта функция также принимает размер шага по умолчанию 1.

# Последовательность чисел от 1 до 10 с шагом 1. seq (1, 10)

вывод:

вывод последовательности | программирование в R
# Последовательность чисел с размером шага 2 seq (0, 20, by = 2)

вывод:

последовательность чисел с размером шага 2 | программирование в R
# Последовательность чисел от 10 до 20 длиной 5 (они расположены через равные промежутки) seq (10, 20, len = 5)

вывод:

последовательность чисел | программирование в R

Ассоциация rep () функция используется для создания вектора путем копирования указанных значений

rep (1: 3, раз = 3) # повтор (1,2,3) 3 раза повтор (4: 6, 2) # повтор (4,5,6) 2 раза повтор (1: 3, каждое = 3) # повтор каждый из (1,2,3) 3x rep (c ('one', 'two', 'TRUE'), times = 1: 3) # repeat ('one', 'two', 'TRUE') первый элемент 1x, второй элемент 2x и третий элемент 3x

вывод:

вывод | программирование в R

2) Массивы и матрицы

Функция Массив () используется для создания массивов и матрица () для матриц. Массивы можно преобразовать в матрицы, изменив тусклый () атрибутов.

Матрицы строк или столбцов могут быть созданы с помощью rbind () и cbind () функции.

mat <- матрица (1:12, nrow = 3, ncol = 4) mat dim (мат)

вывод:

матрица | программирование в R
arr <- массив (1:12) arr

вывод:

вывод массива | программирование в R
dim (arr) <- c (3,4) arr

вывод: 

матрица | программирование в R
x <- 1: 5 y <- 6:10 cbind (x, y) rbind (x, y)

вывод:

матрица 2d | программирование в R

3) Списки

Как и списки Python, списки в R представляют собой разнородные контейнеры и создаются с использованием список() функции.

L <- список (10, 'имя', ИСТИНА, 0.5) L

вывод:

  1. 10
  2. 'название'
  3. ИСТИНА
  4. 0.5
l <- list (x = 1: 3, y = c ('a', 'b', 'c'), z = c (T, F, F)) l

вывод:

список | программирование в R

4) Факторы

Категориальные и порядковые данные представлены с использованием факторов в R с использованием фактор () функция. Уровни факторов содержат все возможные значения, которые могут принимать элементы.

f1 <- factor (rep (1: 3, times = 2)) f1 f2 <- factor (c ('a', 7, 'blue', 'blue')) f2

вывод:

факторы | программирование в R
x <- factor (c ("True", "False", "False", "True", "True"), levels = c ("False", "True")) x

вывод: 

Верно ложно | программирование в R
z <- factor (c («Thr», «Thr», «Fri», «Thr», «Wed», «Wed», «Mon», «Tue»), levels = c («Mon», «Tue» "," Ср "," Чт "," Пт "), заказано = ИСТИНА) z

вывод:

день | программирование в R
factor (c («H», «H», «T», «H», «T»)) таблица (factor (c («H», «H», «T», «H», «T» )))

вывод:

Голова и решка | программирование в R

5) Фреймы данных

В отличие от Python, R имеет встроенный контейнер DataFrame и работает так же, как в Pandas. Мы используем функцию data.frame (), где аргументами являются векторы:

d <- c (1,2,3,4) e <- c ('красный', 'желтый', 'зеленый', NA) f <- c (ИСТИНА, ИСТИНА, ЛОЖЬ, ИСТИНА) mydataframe <- data. кадр (d, e, f) mydataframe

вывод:

кадры данных | программирование в R

Мы можем редактировать имена столбцов, используя имена () функция:

имена (mydataframe) <- c ("ID", "Цвет", "Пройдено")

мой фрейм данных

вывод:

мой фрейм данных | программирование в R

Или вы можете включить имя во время создания фрейма данных:

dataframe3 <- data.frame (Age = c (50,35,71), Name = c ('Joe', 'April', 'Brown'), Passed = c (TRUE, FALSE, TRUE)) dataframe3

вывод:

кадр данных3 | программирование в R

Мы можем получить доступ к отдельным столбцам (векторам), используя знак $ и имя вектора:

# получение вектора Color из DataFrame mydataframe $ Color

вывод:

'красный' . 'желтый' . 'зеленый' . NA

Индексирование, нарезка и шаг в R

Для индексации или выбора элементов мы используем [, [[или оператор $.

1) Векторы и матрицы

в скобках [

  • вектор положительных целых чисел, и в этом случае указанные элементы извлекаются,
  • вектор отрицательных целых чисел, где эти элементы удалены,
  • логический оператор той же длины, что и рассматриваемый вектор, возвращает логическое значение, или
  • вектор символов, из которого извлекаются элементы
x 10 # возвращает логическое значение (T / F), если элемент x больше 10 x [x> 10] # извлекает элементы x, которые больше 10

вывод:

векторы и матрица
x <- 1: 5 # присвоить последовательность от 0 до 20 с шагом 2 переменной x names (x) <- c ("a", "b", "c", "d", "e") # присвоить имена вектору xx # print xx [c ("a", "c", "e")] # извлечь части вектора x по именам

вывод:

нарезка векторов | программирование в R

Аналогичное индексирование может быть выполнено для матриц и массивов. Здесь запятые используются для указания размера:

a <- 1:10 # array dim (a) <- c (2, 5) # сделать его матрицей aa [1,1] # извлечь элемент матрицы a в row = 1, col = 1 a [2,] # извлечь вторую строку матрицы aa [, 5] # извлечь пятые столбцы матрицы a (все строки) a [, 2: 4] # извлечь столбцы с 2 по 4 матрицы a (все строки)

вывод:

матрица 2X5 | программирование в R

2) Списки и DataFrame

При использовании списков и DF мы используем [[и $ тоже.

mylist <- list (Logic = c (TRUE, FALSE, TRUE), Value = 1: 3, Name = c ("apple", "mac", "pc")) mylist # распечатать список mylist [1] # print 1-й элемент списка mylist $ Name # печать с использованием имен

вывод:

Списки и фрейм данных | программирование в R
mylist [2] # извлечение второго элемента mylist typeof (mylist [2]) # проверка типа mylist [2] mylist [[2]] # значений mylist [2] typeof (mylist [[2]]) # тип моего списка [2]

вывод:

список и значение | программирование в R

Импорт данных в R

1. read.table () Функция используется для импорта табличных данных в виде фрейма данных.

2. формат - read.table (file_path, header = True, sep = ”,”)

3. header = True сообщает R, что данные имеют имя для столбцов и, таким образом, используют первую строку в файле в качестве имен столбцов. Значение по умолчанию - false, если не указано иное, программа будет считать, что файл не имеет заголовка.

4. сентябрь указывает разделитель, используемый в исходном файле, например.CSV файлы используются для хранения данных в Kaggle, поэтому мы будем использовать запятую «» в качестве разделителя для загрузки данных для нашего кода ниже.

Пример: импорт набора данных Iris и просмотр первых 5 записей:

path_iris = '../input/iris/Iris.csv' iris <- read.table (file = path_iris, header = TRUE, sep = ',') iris [1: 5,]

вывод:

кадр данных 5X6

Импорт набора данных Titanic и просмотр первых 5 записей:

path_titanic = '../input/titanic/train.csv' titanic <- read.table (file = path_titanic, header = TRUE, sep = ',') titanic [1: 5,]

вывод:

титанический набор данных | программирование в R

Управляющие заявления

Операторы Controloll позволяют нам вводить логику в наши коды. Заявления вроде Если, если еще и петли работает аналогично Python, поэтому этот раздел может быть проще для тех, кто уже знаком с ним.

1) Оператор If ()

Синтаксис:

if (Состояние)

{ Заявление }

Часть кода {statement} выполняется, только если удовлетворяется часть {condition} оператора If. Если условие не выполняется, интерпретатор R пропускает этот сегмент кода.

Пример:

if (1 == 1) {print ("да !!")}

вывод:

да!!

Примечание:

  • Оператор if () может проверять только один элемент, но не вектор. При применении к вектору будет проверяться только, удовлетворяет ли первый элемент условию.
  • Если первый элемент не удовлетворяет условию, ни один из операторов не будет выполнен, и будет выдано нефатальное предупреждение, указывающее, что тело оператора if () не выполняется. Функция any () или all () должна использоваться для проверки истинности вектора.
  • Для однострочных операторов фигурные скобки можно опустить, но рекомендуется их оставить.

Пример:

х = 5) {х ^ 2}
предупреждающее сообщение | программирование в R
x 0)) {x ^ 2} x = 10)) {x ^ 2}

вывод:

выход | программирование в R

2) Оператор If / else If / else

Синтаксис:

if (Условие) {Заявление}

Иначе, если { Заявление }

еще { Заявление }

(x <- runif (1, 0, 10)) # рисуем случайное число из равномерного расстояния b / w 0 nd 1 if (x <3) {# if x <3 присваиваем значение 10 переменной yy 3 && x < 6) {# else if x между 3 и 6 присвоить значение 0 переменной yy <- 0} else {# else присвоить -10 переменной yy <- -10} y

вывод:

2.79287837212905 10

3) Пока цикл

Цикл while начинается с проверки условия. Если выполнено, цикл начинается и все операторы внутри тела выполняются. После завершения тела условие снова проверяется, и, если оно выполнено, цикл продолжается.

Синтаксис:

я = 0

в то время как (я <5) {

печать (я ^ 2)

i = i + 1

}

i = 0 # инициализировать i while (i <10) {# while i = 10}

вывод:

[1] «привет» [1] «привет» [1] «привет» [1] «привет» [1] «привет» [1] «привет» [1] «привет» [1] «привет» [1 ] «привет» [1] «привет»

4) оператор next и break

  • следующий используется для пропуска одной итерации любого цикла
  • перерыв используется для выхода из цикла тогда и там
# Пропуск первых 5 итераций для (i in 1:10) {if (i <= 5) {next} print (i ^ 2)}

вывод:

[1] 36 [1] 49 [1] 64 [1] 81 [1] 100
# печатаем i до 5 и останавливаем цикл for (i в 1:10) {print (i) if (i> 5) {break}}

вывод:

[1] 1 [1] 2 [1] 3 [1] 4 [1] 5 [1] 6

5) Для цикла

Циклы For имеют заранее определенное количество итераций и для этого используют переменную. В основном используется для перебора повторяемых объектов, как в python.

Синтаксис:

для (итератор) {
Заявление }

for (i in 1: 5) {print (i + 1)}

вывод:

[1] 2 [1] 3 [1] 4 [1] 5 [1] 6

Ассоциация seq_along () функция аналогична len () функция в Python, используемая для генерации целочисленной последовательности на основе длины итератора.

вывод:

[1] «пн» [1] «вт» [1] «ср» [1] «чт» [1] «пт» [1] «сб» [1] «вс»

6) Вложенные циклы for

  • Вложенные циклы for используются для работы с объектами более высокой размерности, такими как списки или матрицы.
  • Но слишком большое количество вложений может испортить читабельность кода, поэтому обычно рекомендуется поддерживать максимальное количество вложений не более 2-3.
x <- matrix (1: 6, 2, 3) for (i in seq_len (nrow (x))) {for (j in seq_len (ncol (x))) {print (x [i, j])}}

вывод:

[1] 1 [1] 3 [1] 5 [1] 2 [1] 4 [1] 6

функции

Функции - это набор команд, используемых для достижения определенного результата. Обычно они используются для уменьшения избыточности кода.

Синтаксис создания функции в R:

моя функция <- функция(аргумент1, аргумент2)
{
код для выполнения
}

Имя этой функции моя функция и принимает 2 аргумента. Функции могут либо выполнять некоторые инструкции, либо использоваться для возврата значений. Чтобы использовать функцию, мы просто набираем:

моя функция(переменная1, переменная2)

Пример 1:

Давайте создадим функцию, используя теорему Пифагора. Теорема утверждает, что «Квадрат длины гипотенузы прямоугольного треугольника равен сумме квадратов длины двух других сторон».

программирование в R

Где a, b и c - стороны прямоугольного треугольника. Теперь давайте создадим функцию для нахождения гипотенузы при заданных сторонах:

pyth <- функция (x, y) {return (sqrt ((x) ^ 2 + (y) ^ 2))} pyth (3, 4)

вывод:

5

Пример 2:

Напишем функцию для вычисления стандартного отклонения всех элементов вектора.

SD программирование в R
stdev <- function (x) {s <- sqrt (sum ((x - mean (x)) ^ 2) / (length (x) -1) s} z <- rnorm (20) stdev (z)

вывод:

1.0321309737329

Обработка DataFrame с использованием dplyr в R

дплир | программирование в R

В предыдущей статье мы узнали, как импортировать структурированные данные в форме DataFrame в нашу записную книжку, используя базу R. В этом разделе мы узнаем, как манипулировать этими данными для вывода выводов и создания визуализаций.

дплир можно рассматривать как панд of R. С DataFrame можно многое сделать, и становится сложно делать это в родном R, вот где дплир В нем есть набор «глаголов», термин, придуманный самими собой, который поможет пользователю решить большинство общих задач манипуляции. Вот некоторые из этих «глаголов»:

  • select()   -  выбирает переменные в соответствии с их именами
  • filter()   -  отбирает кейсы в соответствии с их значениями
  • arrange()  -   переупорядочивает строки
  • mutate()   -   добавляет и сохраняет существующую переменную
  • summarise()-  создает итоговое значение из нескольких значений
  • group_by() -  помогает в выполнении пакетных операций с группами

Теперь мы продемонстрируем использование вышеуказанных «глаголов».

# импорт библиотеки библиотеки (dplyr)

импорт данных:

path_iris = '../input/iris/Iris.csv' iris <- read.table (file = path_iris, header = TRUE, sep = ',') iris [1: 5,] path_titanic = '../input/ titanic / train.csv 'titanic <- read.table (file = path_titanic, header = TRUE, sep =', ') titanic [1: 5,]

вывод:

выход | программирование в R
кадр данных 5X12

1. выберите ()

data (iris) names (iris) [1: 3] # извлекаем первые три столбца набора данных iris

вывод:

'Sepal.Length'. 'Sepal.Width'. 'Petal.Length'

df <- select (iris, Sepal.Length: Petal.Length) голова (df)

вывод:

выберите ирис | программирование в R

мы используем знак '-' внутри Выбрать() чтобы опустить переменные, которые нам не нужны.

df <- select (iris, - (Species)) head (df, 3)

вывод:

выберите кадр данных радужной оболочки

Еще одна удивительная особенность select () заключается в том, что она позволяет нам выбирать строки на основе определенных шаблонов. Это делается с помощью "начинается с"() и «Заканчивается_с» ()

df_sepal <- выберите (iris, "start_with" ('Sepal')) голову (df_sepal, 3)
выберите функцию

2. фильтр ()

Так же, как Выбрать() использовался для извлечения столбцов, фильтр() используется для извлечения строк DataFrame. Это похоже на подмножество() функция в родном R.

# фильтруем наблюдения с длиной чашелистика больше 6 см iris_filt 6.0) str (iris_filt)

вывод:

фильтр
данные (радужная оболочка) iris_filt 6.0 и длина лепестка <6.0) головка (iris_filt)

вывод:

ирисовый фильтр

3. аранжировать ()

Эта функция используется для изменения порядка DataFrame в соответствии с определенным столбцом. По умолчанию используется возрастающий порядок. Давайте изменим порядок нашего титанического DataFrame по возрасту, от самого младшего к старшему.

titanic_age_arraned <- организовать (titanic, Age) head (titanic_age_arraned, 3) tail (titanic_age_arraned, 3)

вывод:

устроить |

4. переименовать ()

Функция rename () используется для изменения имен столбцов. синтаксис:

dataframe <- rename (dataframe, 'new_name_1 ′ = old_name_1', 'new_name_2' = old_name_2 '….)

вот пример:

голова (радужная оболочка, 3)

вывод:

переименовать | Программирование в R
iris <- rename (iris, 'sepal_length_ [cm]' = Sepal.Length, 'sepal_width_ [cm]' = Sepal.Width, 'petal_length_ [cm]' = Petal.Length, 'petal_width_ [cm]]' = Petal.Width) ) голова (радужная оболочка, 3)

вывод:

ирис переименовать

5. mutate ()

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

data (iris) iris <- mutate (iris, 'Petal_L2W_ratio' = Petal.Length / Petal.Width, 'Sepal_L2W_ratio' = Sepal.Length / Sepal.Width) head (iris,)

вывод:

мутировать | Программирование в R

Есть похожая функция, трансмутировать () который по сути делает то же самое, что и мутировать (), но удаляет все столбцы, которые остаются непреобразованными:

iris <- transmute (iris, 'Petal_L2W_ratio' = Petal.Length / Petal.Width, 'Sepal_L2W_ratio' = Sepal.Length / Sepal.Width) голова (радужная оболочка, 3)

вывод:

выходной

Построение с помощью R

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

1. Гистограмма

age <- titanic $ Age hist (age, xlab = 'Возраст', main = "Гистограмма возраста пассажиров")
Гистограмма

2. Коробчатая диаграмма

y <- rnorm (100, mean = 80, sd = 3) boxplot (y, xlab = 'Y-variable', main = 'boxplot of random variable')
Программирование блочной диаграммы в R

3. Диаграмма рассеяния

x <- runif (20) y <- 2 + 3 * x + rnorm (20) plot (x, y, xlab = 'x-axis', ylab = 'y-axis', main = 'Title here please', )
диаграмма рассеяния | Программирование в R

4. Линейный график

x <- seq (-4, 4, len = 100) y <- dnorm (x, mean = 0, sd = 1) plot (x, y, type = 'l', col = 'blue') title (' Плотность стандартная нормальная ')
Линейный сюжет

5. Барплот

data <- data.frame (name = c ("A", "B", "C", "D", "E"), value = c (3,12,5,18,45)) barplot (data $ value, names.arg = data $ name, горизонт = FALSE, xlab = 'Names', ylab = 'Value', main = 'Barplot')
Барплот | Программирование в R

6. Пиехарт

ломтики <- c (36448.797, 26288.683, 23596.661, 3028.636, 2605.979, 1895.095) метки <- c ("Азия", "Северная Америка", "Европа", "Южная Америка", "Африка", "Океания") пирог ( срезы, метки = метки, радиус = 2.0, main = «Номинальный ВВП на 2021 год (миллиарды долларов)»)
круговая диаграмма | Программирование в R

Визуализация с использованием ggplot2

ggplot | Программирование в R

Библиотека ggplot2 построена на идеях, представленных в книге под названием Грамматика графики (статистика и вычисления) Это помогает нам с легкостью создавать сложные графики, используя 3 основных компонента: данные, система координат, и геометрия. Мы также можем указать ggplot2, какую эстетику использовать, например, цвет, форму, размер и т. Д.

синтаксис:

ggplot (данные, aes ()) +
geom ()

data - используемый набор данных

aes () - эстетика

geom () - геометрия. здесь у вас есть много вариантов. Я предлагаю вам проверить это шпаргалка для лучшего понимания этой концепции

Давайте начнем!

# импортировать библиотеку библиотеки ggplot2 (ggplot2)

1. Диаграмма рассеяния

p1 <- ggplot (iris, aes (x = Sepal.Length, y = Sepal.Width, color = Species)) + geom_point () p1
график рассеяния | Программирование в R

2. Гистограмма

p2 <- ggplot (iris, aes (x = Petal.Length, fill = Species)) + geom_histogram (binwidth = 0.2, alpha = 0.75) p2
Гистограмма | Программирование в R

3. Коробчатая диаграмма

p3 <- ggplot (iris, aes (x = Species, y = Sepal.Length, fill = Species)) + geom_boxplot () p3
Боксплот ирис

4. Барплот

grades <- c ('A', 'B', 'C', 'D', 'F') count <- c (8, 26, 44, 15, 7) data_grades <- data.frame (x = оценки , y = количество) p4 <- ggplot (data_grades, aes (x = grades, y = count, fill = grades)) + geom_col (alpha = 0.6) p4
Барплот |Программирование на R

5. График плотности

p5 <- ggplot (iris, aes (x = Sepal.Length, fill = Species)) + geom_de density (alpha = 0.35) p5
график плотности | Программирование в R

6. Сюжет для скрипки

p6 <- ggplot (iris, aes (x = Species, y = Sepal.Length, fill = Species)) + geom_violin (alpha = 0.6) p6
Сюжет для скрипки

7. Круговая диаграмма

Примечание: Чтобы создать круговую диаграмму, нам нужно использовать комбинацию geom_bar () и Координатор_полярный ()

срезы <- c (36448.797, 26288.683, 23596.661, 3028.636, 2605.979, 1895.095) метки <- c ("Азия", "Северная Америка", "Европа", "Южная Америка", "Африка", "Океания") data_gdp < - data.frame (значения = срезы, группы = метки) ggplot (data_gdp, aes (x = "", y = values, fill = groups)) + geom_bar (stat = "identity", alpha = 0.5) +ordin_polar (" y ", start = 0) + theme_void () # эта строка используется для очистки фоновой сетки
Круговая диаграмма | Программирование в R

8. Линейный график

# создание нового набора данных x <- seq (0, 1000, len = 500) y <- log (x + 1) data <- data.frame (x = x, y = y) # линейный график ggplot (data, aes (x = x, y = y)) + geom_line ()
Линейный график | Программирование в R

9. Карты

## адаптация https://www.maths.usyd.edu.au/u/UG/SM/STAT3022/r/current/Misc/data-visualization-2.1.pdf data <- data.frame (assault = USArrests $ Нападение, состояние = tolower (rownames (USArrests))) map <- map_data ("state") map_plot <- ggplot (data, aes (fill = assault)) + geom_map (aes (map_id = state), map = map,) + expand_limits (x = map $ long, y = map $ lat) + scale_fill_continuous (low = "lightblue", high = "salmon") map_plot
Карты

Тепловая карта корреляции с использованием заговор

Тепловая карта корреляции полезна для построения корреляции между несколькими переменными. В этом примере мы будем использовать библиотеку заговор для создания тепловой карты корреляции для набора данных House Price.

# импорт библиотеки библиотеки (corrplot)
options (repr.plot.width = 10, repr.plot.height = 10) numeric_var <- names (house) [which (sapply (house, is.numeric))] house_cont <- house [numeric_var] корреляции <- cor ( na.omit (house_cont [, - 1])) corrplot (correlations, method = "square", type = 'lower', diag = FALSE)
график корреляции

Сноски

В этой статье мы начали с основ и увидели, что такое переменные и как им присваивать значения. Затем мы познакомились с собственными типами данных и общими структурами данных, используемыми в R. Затем мы узнали, как извлекать нужные части из этих структур данных. Затем, наконец, мы узнали, как импортировать данные и как использовать различные управляющие структуры, такие как циклы и условные операторы в R.

Затем мы познакомились с частью анализа данных с помощью R. Мы узнали, как создавать таможенные функции, а затем начали манипулировать фреймами данных с помощью дплир. Затем мы погрузились в визуализацию, используя как собственный R, так и надежную библиотеку визуализации под названием гглот2. Спасибо, что прочитали мою статью. Надеюсь, вам понравилось.

Вы можете прочитать другие мои статьи по адресу:

Сион | Автор в Analytics Vidhya

Рекомендации

Изображение 1: https://www.r-project.org/logo/

Медиа, показанные в этой статье, не принадлежат Analytics Vidhya и используются по усмотрению автора.

Источник: https://www.analyticsvidhya.com/blog/2021/09/programming-in-r-from-variables-to-visualizations/

Отметка времени:

Больше от Аналитика Видхья