💡 Инструкция: Выберите один ответ из пяти. На 20 вопросов отведено 55 минут. Читайте код построчно, учитывайте типы, атрибуты, пропуски и допущения анализа. После завершения откроются общий процент, 4 тематических шкал и объяснение к каждому заданию.
Вопрос 5 из 20
Ситуация: Категории хранятся как строки с числами; после преобразования среднее стало около полутора вместо ожидаемого значения. Что стоит написать в технической рецензии к этому фрагменту?
R Фрагмент R Копировать
x <- factor(c('10', '20', '10'))
result <- as.numeric(x)
result
Фактор хранит целочисленные коды и отдельный набор levels, поэтому изменение подписи уровня не меняет порядок наблюдений; при этом главный риск состоит в том, что алфавитный порядок levels может не совпадать с порядком интенсивности и переворачивает сравнения категорий
Упорядоченный фактор задаёт осмысленный порядок уровней и поддерживает сравнения, основанные на этом порядке; при этом главный риск состоит в том, что преобразование factor напрямую через as.numeric() возвращает внутренние коды, а не числовой смысл подписей
Фактор хранит целочисленные коды и отдельный набор levels, поэтому изменение подписи уровня не меняет порядок наблюдений; при этом главный риск состоит в том, что преобразование factor напрямую через as.numeric() возвращает внутренние коды, а не числовой смысл подписей
Перекодировка должна сохранять однозначное соответствие исходных уровней новым подписям и отдельно обрабатывать неизвестные значения; при этом главный риск состоит в том, что ручная замена по внутренним кодам ломается при изменении порядка levels или появлении нового уровня
Фактор хранит целочисленные коды и отдельный набор levels, поэтому изменение подписи уровня не меняет порядок наблюдений; поэтому повторный запуск в той же сессии заменяет проверку граничных случаев
Вопрос 6 из 20
Ситуация: Система ранжирует уровни риска, но после импорта они оказались отсортированы по алфавиту. Что является главным техническим основанием для разбора?
R Фрагмент R Копировать
x <- factor(c('низкий', 'высокий', 'средний'), levels = c('низкий', 'средний', 'высокий'), ordered = TRUE)
result <- x[2] > x[3]
result
Упорядоченный фактор задаёт осмысленный порядок уровней и поддерживает сравнения, основанные на этом порядке
Перекодировка должна сохранять однозначное соответствие исходных уровней новым подписям и отдельно обрабатывать неизвестные значения
Номинальные факторы нельзя осмысленно сравнивать операторами < и > без заранее заданного порядка
Фактор хранит целочисленные коды и отдельный набор levels, поэтому изменение подписи уровня не меняет порядок наблюдений
Воспроизводимый анализ групп хранит исходный дизайн, порядок факторов, контрасты, исключения и полный набор сравнений
Вопрос 10 из 20
Ситуация: Система ранжирует уровни риска, но после импорта они оказались отсортированы по алфавиту. Какое заключение останется верным и на новых данных?
R Фрагмент R Копировать
x <- factor(c('низкий', 'высокий', 'средний'), levels = c('низкий', 'средний', 'высокий'), ordered = TRUE)
result <- x[2] > x[3]
result
Номинальные факторы нельзя осмысленно сравнивать операторами < и > без заранее заданного порядка; при этом главный риск состоит в том, что алфавитный порядок levels может не совпадать с порядком интенсивности и переворачивает сравнения категорий
Упорядоченный фактор задаёт осмысленный порядок уровней и поддерживает сравнения, основанные на этом порядке; следовательно, предупреждения можно не учитывать, если итог выглядит ожидаемо
Упорядоченный фактор задаёт осмысленный порядок уровней и поддерживает сравнения, основанные на этом порядке; при этом главный риск состоит в том, что алфавитный порядок levels может не совпадать с порядком интенсивности и переворачивает сравнения категорий
Фактор хранит целочисленные коды и отдельный набор levels, поэтому изменение подписи уровня не меняет порядок наблюдений; при этом главный риск состоит в том, что преобразование factor напрямую через as.numeric() возвращает внутренние коды, а не числовой смысл подписей
Упорядоченный фактор задаёт осмысленный порядок уровней и поддерживает сравнения, основанные на этом порядке; при этом главный риск состоит в том, что сравнение внутренних кодов создаёт видимость ранжирования там, где категории лишь различаются по названию
Вопрос 11 из 20
Ситуация: В справочник добавили новый код категории, а старый скрипт продолжает переименовывать уровни по позиции. Какой принцип непосредственно относится к этому коду?
R Фрагмент R Копировать
x <- factor(c('M', 'F', 'X'), levels = c('F', 'M', 'X'))
levels(x) <- c('женщина', 'мужчина', 'другое')
result <- x
result
Фактор хранит целочисленные коды и отдельный набор levels, поэтому изменение подписи уровня не меняет порядок наблюдений
Упорядоченный фактор задаёт осмысленный порядок уровней и поддерживает сравнения, основанные на этом порядке
tapply() разбивает вектор по факторам и применяет функцию к каждой комбинации уровней, возвращая массив с возможными NA для пустых ячеек
Номинальные факторы нельзя осмысленно сравнивать операторами < и > без заранее заданного порядка
Перекодировка должна сохранять однозначное соответствие исходных уровней новым подписям и отдельно обрабатывать неизвестные значения
Вопрос 12 из 20
Ситуация: В справочник добавили новый код категории, а старый скрипт продолжает переименовывать уровни по позиции. Какой риск здесь остаётся главным, даже если результат выглядит правдоподобно?
R Фрагмент R Копировать
x <- factor(c('M', 'F', 'X'), levels = c('F', 'M', 'X'))
levels(x) <- c('женщина', 'мужчина', 'другое')
result <- x
result
Сравнение внутренних кодов создаёт видимость ранжирования там, где категории лишь различаются по названию
Неиспользуемые комбинации уровней создают пустые позиции, которые можно ошибочно принять за реальные нулевые значения
Ручная замена по внутренним кодам ломается при изменении порядка levels или появлении нового уровня
Преобразование factor напрямую через as.numeric() возвращает внутренние коды, а не числовой смысл подписей
Алфавитный порядок levels может не совпадать с порядком интенсивности и переворачивает сравнения категорий
Вопрос 13 из 20
Ситуация: В справочник добавили новый код категории, а старый скрипт продолжает переименовывать уровни по позиции. Какая правка делает решение устойчивым, а не просто удобным на текущем примере?
Для числовых подписей сначала преобразуйте levels через as.character(), а состав уровней задавайте явно
Явно решите, сохранять ли пустые уровни, и различайте отсутствие группы от результата, равного нулю
Перекодируйте по именам, задайте полный словарь и проверяйте значения, не вошедшие в него
Задайте levels в предметном порядке и ordered = TRUE, не полагаясь на сортировку текста
Для номинальных данных используйте равенство или явную предметную шкалу, а для порядка создайте ordered factor
Вопрос 15 из 20
Ситуация: В справочник добавили новый код категории, а старый скрипт продолжает переименовывать уровни по позиции. Какой итог разбора не смешивает правило языка с впечатлением от результата?
R Фрагмент R Копировать
x <- factor(c('M', 'F', 'X'), levels = c('F', 'M', 'X'))
levels(x) <- c('женщина', 'мужчина', 'другое')
result <- x
result
Перекодировка должна сохранять однозначное соответствие исходных уровней новым подписям и отдельно обрабатывать неизвестные значения; при этом главный риск состоит в том, что ручная замена по внутренним кодам ломается при изменении порядка levels или появлении нового уровня
Перекодировка должна сохранять однозначное соответствие исходных уровней новым подписям и отдельно обрабатывать неизвестные значения; при этом главный риск состоит в том, что преобразование factor напрямую через as.numeric() возвращает внутренние коды, а не числовой смысл подписей
Фактор хранит целочисленные коды и отдельный набор levels, поэтому изменение подписи уровня не меняет порядок наблюдений; при этом главный риск состоит в том, что ручная замена по внутренним кодам ломается при изменении порядка levels или появлении нового уровня
Перекодировка должна сохранять однозначное соответствие исходных уровней новым подписям и отдельно обрабатывать неизвестные значения; поэтому внешний вид напечатанного объекта важнее происхождения и структуры данных
Номинальные факторы нельзя осмысленно сравнивать операторами < и > без заранее заданного порядка; при этом главный риск состоит в том, что сравнение внутренних кодов создаёт видимость ранжирования там, где категории лишь различаются по названию
Вопрос 20 из 20
Ситуация: Разработчик пытается определить «большую» категорию цвета, чтобы отсортировать записи по важности. Как сформулировать вывод без лишних обобщений?
R Фрагмент R Копировать
x <- factor(c('красный', 'синий', 'зелёный'))
result <- x[1] < x[2]
result
Номинальные факторы нельзя осмысленно сравнивать операторами < и > без заранее заданного порядка; при этом главный риск состоит в том, что алфавитный порядок levels может не совпадать с порядком интенсивности и переворачивает сравнения категорий
Номинальные факторы нельзя осмысленно сравнивать операторами < и > без заранее заданного порядка; при этом главный риск состоит в том, что сравнение внутренних кодов создаёт видимость ранжирования там, где категории лишь различаются по названию
Упорядоченный фактор задаёт осмысленный порядок уровней и поддерживает сравнения, основанные на этом порядке; при этом главный риск состоит в том, что сравнение внутренних кодов создаёт видимость ранжирования там, где категории лишь различаются по названию
Перекодировка должна сохранять однозначное соответствие исходных уровней новым подписям и отдельно обрабатывать неизвестные значения; при этом главный риск состоит в том, что ручная замена по внутренним кодам ломается при изменении порядка levels или появлении нового уровня
Номинальные факторы нельзя осмысленно сравнивать операторами < и > без заранее заданного порядка; поэтому отсутствие сообщения об ошибке уже подтверждает корректность результата