Лектор начинает с того, что работа в консоли R неудобна для больших задач, поэтому переходит к созданию
R-скрипта. Это позволяет писать и выполнять блоки кода целиком, наблюдая результат позже.
Создание векторов:
•
Subject.Name <- c("Jane", "Mike", "Peter") — вектор строк (тип
character).
•
Age <- c(20, 56, 34) — вектор чисел (по умолчанию тип
double, даже для целых).
•
Married <- c(FALSE, TRUE, TRUE) — логический вектор.
• Доступ к элементам:
Subject.Name[2] (второй элемент),
Age[2:3] (со второго по третий).
Факторы (категориальные переменные):
• Для пола (
Gender):
Gender <- factor(c("F", "M", "M")). R сам создаст справочник (уровни: "F", "M"). Это номинальная переменная (порядка нет).
• Для образования (
Education): нужно задать все возможные уровни и указать порядок:
R
Education <- factor(c("BA", "Master", "PhD"),
levels = c("Diploma", "BA", "Master", "PhD"),
ordered = TRUE)
Это
ординальная переменная (есть иерархия).
Списки (List) — разнородная строка:
• В отличие от вектора, список может содержать элементы разных типов. Это аналог «строки» в таблице.
R
Student <- list(Student.Name = Subject.Name[1],
Student.Age = Age[1],
Student.Education = Education[1])
Таблицы (Data Frame) — основной формат:
• Объединяет столбцы в единую таблицу. Важно отключить автоматическое превращение строк в факторы, если мы уже явно задали нужные факторы:
R
Student.Data <- data.frame(Subject.Name, Age, Married, Gender, Education,
stringsAsFactors = FALSE)
• Доступ к столбцам:
Student.Data$Age (через $) или
Student.Data[,1] (по индексу).
• Просмотр таблицы:
View(Student.Data).
1. Переход к скриптам — необходимый шаг для эффективной работы в R, позволяющий создавать воспроизводимый код.
2. Векторы в R всегда гомогенны (один тип данных). Попытка смешать типы приведет к автоматическому приведению к общему типу (например, числа станут строками).
3. Факторы незаменимы для работы с категориями, особенно в статистических моделях. Ординальные факторы позволяют учитывать порядок категорий (например, «низкий», «средний», «высокий»).
4. data.frame — это «рабочая лошадка» анализа данных. Понимание разницы между вектором (столбец), списком (строка) и таблицей (набор столбцов) критически важно.
5. Всегда контролируйте параметр stringsAsFactors. В современных версиях R по умолчанию FALSE, но в старом коде или старых версиях строки могли автоматически становиться факторами, что приводило к ошибкам.
1. В чем основное преимущество написания R-скрипта перед выполнением команд поочередно в консоли?
2. Что произойдет, если в один вектор (c()) поместить числа и строки? Какой тип будет у вектора?
3. Почему в лекции для переменной Subject.Name (имена) не использовали factor(), а для Gender (пол) — использовали?
4. Чем отличается номинальная переменная от ординальной? Приведите пример для каждой из них, основываясь на материале лекции.
5. Какая команда позволяет в data.frame отключить автоматическое преобразование текстовых колонок в факторы? Почему это иногда нужно делать?
6. Как обратиться к:
o Второму элементу вектора Age?
o Третьей строке и первому столбцу таблицы Student.Data?
o Столбцу Married через знак $?
7. Что означает запись ordered = TRUE при создании фактора и как она отображается при печати переменной?