Усе, з чим працює Таким чином ми створили змінну та вектор логічних значень: Слід також зазначити, що Зверніть увагу на квадратні дужки – це індекси відповідно рядків та стовпців. У квадратних дужках перше число стосується рядків, а друге (те яке після коми) – стовпців. Якщо потрібно усі рядки, то індекс рядків потрібно пропустити, а якщо усі стовпці – пропускаємо індекс стовпців. Так, позначення [1,] означає “перший рядок”, позначення [,1] означає “перший стовпчик”, а позначення [3,2] – число, що стоїть на перетині третього рядка і другого стовпця. Кожному індексу, звичайно, передує назва змінної, елемент якої він позначає. Знак “мінус” видасть матрицю Щоб створити список, можна використати функцію Бачимо, що для індексації елементів списку використовують також подвійні квадратні дужки R
, є об’єктами (також будемо їх називати ще “змінними”). Такими об’єктами є вектори, матриці, масиви, датафрейми, списки і фактори. Кожен з цих об’єктів складається з елементів певних типів: дійсних чисел, комплексних чисел, символів, логічних значень (ТАК, НІ - TRUE
, FALSE
), і байтів. Вектори, матриці та масиви є “атомарними” об’єктами, оскільки всі їхні елементи повинні бути одного типу (вектор символів, матриця чисел, масив байтів, та ін.). Датафрейми та списки є складними об’єктами, і містять елементи різних типів. Вектор – одновимірна впорядкована (у кожного елемента є свій номер - індекс) сукупність елементів. Матриця – двовимірна впорядкована сукупність елементів. Усі рядки матриці повинні мати однакову довжину (кількість елементів). І усі стовпці матриці також повинні мати однакову довжину. По суті, матриця складається із векторів одного типу і одинакової довжини. Масив – багатовимірне узагальнення матриці. Датафрейм – об’єкт, схожий на матрицю, однак відрізняється тим, що може містити елементи різних типів. Інформація для дослідження часто відображається за допомогою датафреймів: рядки датафрейму відповідають одиничним спостереженням, а стовпці – ознакам (властивостям, характеристикам), які можуть утворювати вектори чисел, вектори логічних значень та фактори. Списки є впорядкованими сукупностями інших об’єктів. У одному списку можуть бути присутні різні вектори, матриці, масиви, датафрейми і навіть інші списки (і це ще не повний перелік). Фактори можна розглядати як спеціальний різновид символьних векторів. Фактори призначені для запису номінальних ознак – ознак, що утворюють групи.
Щоб створити вектор у R
, можна використати функцію с()
c()
скорочено від англ. concatenate – “з’єднати“, або від combine – “сполучити”.a <- c(2, 3, 6, 0, 1, -3)
a
## [1] 2 3 6 0 1 -3
a
і записали у неї вектор із шести чисел. Щоб вивести вміст змінної, просто вказуєм її назву і натискаємо Enter
. Знак <-
є оператором присвоєння, тобто він результат, обчислений у правій частині, присвоює змінній, записаній у лівій частині. Замість нього можна також використовувати знак =
. Аналогічно створюється вектор символів:b <- c("raz", "dva", "tru")
b
## [1] "raz" "dva" "tru"
B <- c(TRUE, TRUE, FALSE)
B
## [1] TRUE TRUE FALSE
R
чутливий до регістру, тобто змінна b
і B
– дві різні змінні. І навіть змінні dani
та Dani
– різні.
Щоб створити матрицю, можна використати функції rbind()
(сполучення рядків), або cbind()
(сполучення стовпців). А кожен рядок чи стовпець відповідно, формувати за допомогою с()
. Наприклад:c <- rbind(c(1, 2), c(3, 4), c(5, 6))
c
## [,1] [,2]
## [1,] 1 2
## [2,] 3 4
## [3,] 5 6
c[1, ]
## [1] 1 2
c[, 1]
## [1] 1 3 5
c[3, 2]
## [1] 6
-
перед числом індекса означає “всі крім цього рядка/стовпця”. Наприклад,c[-2, ]
## [,1] [,2]
## [1,] 1 2
## [2,] 5 6
с
без другого рядка.
Створити датафрейм можна, наприклад, за допомогою функції data.frame()
. Попередньо вже було створено вектори a
, b
i B
різних типів. Внесемо їх у єдиний датафрейм:d <- data.frame(a[1:3], b, B)
d
## a.1.3. b B
## 1 2 raz TRUE
## 2 3 dva TRUE
## 3 6 tru FALSE
a[1:3]
позначає перші три елементи вектора а
. Ми узяли лише три елементи, оскільки всі стовпці (вектори) датафрейму повинні мати однакову довжину. До речі, усі символьні вектори функція data.frame()
автоматично конвертує у фактори.
Щоб явним чином створити фактор, використовується функція factor()
, наприкладe <- factor(b)
e
## [1] raz dva tru
## Levels: dva raz tru
list()
:f <- list(a, b, B, c, d, e)
f
## [[1]]
## [1] 2 3 6 0 1 -3
##
## [[2]]
## [1] "raz" "dva" "tru"
##
## [[3]]
## [1] TRUE TRUE FALSE
##
## [[4]]
## [,1] [,2]
## [1,] 1 2
## [2,] 3 4
## [3,] 5 6
##
## [[5]]
## a.1.3. b B
## 1 2 raz TRUE
## 2 3 dva TRUE
## 3 6 tru FALSE
##
## [[6]]
## [1] raz dva tru
## Levels: dva raz tru
[[ ]]
. Різниця наступна: f[1]
видасть нам перший елемент списку – вектор а
, f[[1]]
видасть нам вміст першого елементу списку (вектора а
).