Модульні уроки (2/2)
Типи даних і матриці
R має кілька основних типів даних, які дозволяють зберігати різну інформацію всередині векторів і змінних.
Елементарні типи даних
У R найчастіше використовуються три основні типи даних:
numeric: десяткові числа (наприклад,4.5,10.0) або цілі числа.character: текстові рядки, взяті в подвійні або одинарні лапки (наприклад,"Alice",'Data').logical: логічні значення, які можуть бути лишеTRUEабоFALSE. У R ви також можете використовувати абревіатуриTабоF(хоча для ясності рекомендується використовувати повні версії).
# Examples of different types
score <- 95.5 # numeric
player_name <- "Marco" # character
is_winner <- TRUE # logicalМатриці
Матриця в R є двовимірним розширенням вектора. Як і вектори, матриці можуть містити лише елементи одного типу (зазвичай числа).
Ви створюєте матрицю за допомогою функції matrix(), надаючи вектор даних і вказуючи кількість рядків (nrow) або стовпців (ncol):
# Create a 2x3 matrix with values from 1 to 6
mat <- matrix(1:6, nrow = 2, ncol = 3)
print(mat)За замовчуванням R заповнює матрицю стовпчик за стовпцем.
Доступ до елементів
Щоб отримати доступ до певного елемента в матриці, використовуйте квадратні дужки [row, column]:
# 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 – це спеціальні структури даних, які використовуються для представлення категоріальних змінних (якісні дані, які належать до кінцевого набору категорій, як-от стать або рівень освіти). Вони дуже важливі для статистичного аналізу:
sizes <- c("M", "L", "M", "S")
size_factor <- factor(sizes)
print(size_factor) # Also shows the Levels: S M LОб’єднання даних: cbind та rbind
Ми можемо комбінувати вектори чи матриці, зв’язуючи їх за стовпцями за допомогою cbind() (зв’язування стовпців) або за рядками за допомогою rbind() (зв’язування рядків):
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)Спробуйте самі
Оголошіть логічну змінну з назвою is_active зі значенням TRUE і символьну змінну з іменем user_name зі значенням «Alice».
Показати підказку
Використовуйте оператор <- для обох змінних в окремих рядках.
Рішення доступне після 3 спроб
Створіть матрицю з назвою mat, що містить значення від 1 до 6, структуровану з 2 рядків (nrow = 2) і 3 стовпців (ncol = 3).
Показати підказку
Використовуйте функцію matrix(1:6, nrow = 2, ncol = 3).
Рішення доступне після 3 спроб
Враховуючи вже створений матричний мат, витягніть елемент, розташований у першому рядку та третьому стовпці, і збережіть його у змінній val.
Показати підказку
Доступ до елемента за допомогою квадратних дужок: val <- mat[1, 3]
Рішення доступне після 3 спроб
Створіть фактор із векторних категорій і призначте його змінній cat_factor.
Показати підказку
Використовуйте функцію factor(): cat_factor <- factor(categories)
Рішення доступне після 3 спроб
Дано вектори col1 і col2, об’єднайте їх як стовпці матриці за допомогою cbind() і призначте результат my_matrix.
Показати підказку
Використовуйте: my_matrix <- cbind(col1, col2)
Рішення доступне після 3 спроб