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