Перейти до основного вмісту
Модуль 1 · Урок 2 із 22/10 у курсі~12 min
Модульні уроки (2/2)

Типи даних і матриці

R має кілька основних типів даних, які дозволяють зберігати різну інформацію всередині векторів і змінних.

Елементарні типи даних

У R найчастіше використовуються три основні типи даних:

  1. numeric: десяткові числа (наприклад, 4.5, 10.0) або цілі числа.
  2. character: текстові рядки, взяті в подвійні або одинарні лапки (наприклад, "Alice", 'Data').
  3. logical: логічні значення, які можуть бути лише TRUE або FALSE. У R ви також можете використовувати абревіатури T або F (хоча для ясності рекомендується використовувати повні версії).
R
# Examples of different types
score <- 95.5          # numeric
player_name <- "Marco"  # character
is_winner <- TRUE       # logical

Матриці

Матриця в R є двовимірним розширенням вектора. Як і вектори, матриці можуть містити лише елементи одного типу (зазвичай числа).

Ви створюєте матрицю за допомогою функції matrix(), надаючи вектор даних і вказуючи кількість рядків (nrow) або стовпців (ncol):

R
# Create a 2x3 matrix with values from 1 to 6
mat <- matrix(1:6, nrow = 2, ncol = 3)
print(mat)

За замовчуванням R заповнює матрицю стовпчик за стовпцем.

Доступ до елементів

Щоб отримати доступ до певного елемента в матриці, використовуйте квадратні дужки [row, column]:

R
# Extract the element at the first row, second column
value <- mat[1, 2]

# Extract an entire row by leaving the column field empty
first_row <- mat[1, ]

# Extract an entire column
second_col <- mat[, 2]

Фактори

Фактори в R – це спеціальні структури даних, які використовуються для представлення категоріальних змінних (якісні дані, які належать до кінцевого набору категорій, як-от стать або рівень освіти). Вони дуже важливі для статистичного аналізу:

R
sizes <- c("M", "L", "M", "S")
size_factor <- factor(sizes)
print(size_factor) # Also shows the Levels: S M L

Об’єднання даних: cbind та rbind

Ми можемо комбінувати вектори чи матриці, зв’язуючи їх за стовпцями за допомогою cbind() (зв’язування стовпців) або за рядками за допомогою rbind() (зв’язування рядків):

R
v1 <- c(1, 2)
v2 <- c(3, 4)

# Creates a 2x2 matrix by placing v1 and v2 side-by-side as columns
combined <- cbind(v1, v2)

Спробуйте самі

вправи#r.m1.l2.e1
Спроби: 0Завантаження…

Оголошіть логічну змінну з назвою is_active зі значенням TRUE і символьну змінну з іменем user_name зі значенням «Alice».

Завантаження редактора…
Показати підказку

Використовуйте оператор <- для обох змінних в окремих рядках.

Рішення доступне після 3 спроб

вправи#r.m1.l2.e2
Спроби: 0Завантаження…

Створіть матрицю з назвою mat, що містить значення від 1 до 6, структуровану з 2 рядків (nrow = 2) і 3 стовпців (ncol = 3).

Завантаження редактора…
Показати підказку

Використовуйте функцію matrix(1:6, nrow = 2, ncol = 3).

Рішення доступне після 3 спроб

вправи#r.m1.l2.e3
Спроби: 0Завантаження…

Враховуючи вже створений матричний мат, витягніть елемент, розташований у першому рядку та третьому стовпці, і збережіть його у змінній val.

Завантаження редактора…
Показати підказку

Доступ до елемента за допомогою квадратних дужок: val <- mat[1, 3]

Рішення доступне після 3 спроб

вправи#r.m1.l2.e4
Спроби: 0Завантаження…

Створіть фактор із векторних категорій і призначте його змінній cat_factor.

Завантаження редактора…
Показати підказку

Використовуйте функцію factor(): cat_factor <- factor(categories)

Рішення доступне після 3 спроб

вправи#r.m1.l2.e5
Спроби: 0Завантаження…

Дано вектори col1 і col2, об’єднайте їх як стовпці матриці за допомогою cbind() і призначте результат my_matrix.

Завантаження редактора…
Показати підказку

Використовуйте: my_matrix <- cbind(col1, col2)

Рішення доступне після 3 спроб