Уроки модуля (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 со значением «Алиса».
Показать подсказку
Используйте оператор <- для обеих переменных в отдельных строках.
Решение доступно после 3 попыток
Создайте матрицу с именем mat, содержащую значения от 1 до 6, состоящую из 2 строк (nrow = 2) и 3 столбцов (ncol = 3).
Показать подсказку
Используйте функцию матрицы(1:6, nrow = 2, ncol = 3).
Решение доступно после 3 попыток
Учитывая уже созданный матричный мат, извлеките элемент, расположенный в первой строке и третьем столбце, и сохраните его в переменной val.
Показать подсказку
Доступ к элементу осуществляется с помощью квадратных скобок: val <- mat[1, 3]
Решение доступно после 3 попыток
Создайте фактор из векторных категорий и присвойте его переменной cat_factor.
Показать подсказку
Используйте функцию фактора(): cat_factor <- фактор(категории)
Решение доступно после 3 попыток
Учитывая векторы col1 и col2, объедините их как столбцы матрицы с помощью cbind() и присвойте результат my_matrix.
Показать подсказку
Использование: my_matrix <- cbind(col1, col2)
Решение доступно после 3 попыток