💡 Инструкция: Выберите один ответ из пяти. На 20 вопросов отведено 55 минут. Читайте код построчно, учитывайте типы, атрибуты, пропуски и допущения анализа. После завершения откроются общий процент, 4 тематических шкал и объяснение к каждому заданию.
Вопрос 3 из 20
Ситуация: Данные приходят строками из прибора, но матрица строится без явного указания порядка заполнения. Что следует изменить в коде или процессе?
Явно выровняйте измерения через матрицу, sweep() или проверку длины, а не полагайтесь на recycling
Выберите специализированную функцию или подпишите смысл MARGIN, а размер результата сверяйте с числом строк либо столбцов
Укажите byrow явно, когда порядок входного потока имеет смысл, и задайте dimnames для читаемой проверки
Используйте drop = FALSE в интерфейсах, где размерность должна сохраняться независимо от числа выбранных столбцов
Укажите sep, dec, na.strings и fileEncoding по реальному формату, затем проверьте число столбцов
Вопрос 5 из 20
Ситуация: Данные приходят строками из прибора, но матрица строится без явного указания порядка заполнения. Как сформулировать вывод без лишних обобщений?
R Фрагмент R Копировать
x <- 1:6
result <- matrix(x, nrow = 2)
result
matrix() заполняет значения по столбцам по умолчанию, а byrow = TRUE переключает заполнение по строкам; при этом главный риск состоит в том, что ожидание построчного заполнения меняет расположение элементов и делает последующие вычисления по строкам неверными
m[i, j] выбирает элемент, а пропуск измерения выбирает строку или столбец; drop = FALSE сохраняет матричную форму; при этом главный риск состоит в том, что выбор одного столбца по умолчанию упрощает результат до вектора и ломает код, ожидающий двумерный объект
matrix() заполняет значения по столбцам по умолчанию, а byrow = TRUE переключает заполнение по строкам; при этом главный риск состоит в том, что перепутанное значение MARGIN в apply() меняет агрегацию по строкам на агрегацию по столбцам при синтаксически корректном коде
matrix() заполняет значения по столбцам по умолчанию, а byrow = TRUE переключает заполнение по строкам; поэтому отсутствие сообщения об ошибке уже подтверждает корректность результата
rowSums и colMeans явно задают направление агрегации и обычно надёжнее apply() для стандартных числовых сводок; при этом главный риск состоит в том, что ожидание построчного заполнения меняет расположение элементов и делает последующие вычисления по строкам неверными
Вопрос 10 из 20
Ситуация: Функция обычно получает несколько признаков, но на редком наборе остаётся один столбец и следующий шаг перестаёт принимать объект. Какое заключение лучше всего выдерживает проверку?
R Фрагмент R Копировать
m <- matrix(1:6, nrow = 3)
result <- m[, 1]
result
m[i, j] выбирает элемент, а пропуск измерения выбирает строку или столбец; drop = FALSE сохраняет матричную форму; при этом главный риск состоит в том, что выбор одного столбца по умолчанию упрощает результат до вектора и ломает код, ожидающий двумерный объект
matrix() заполняет значения по столбцам по умолчанию, а byrow = TRUE переключает заполнение по строкам; при этом главный риск состоит в том, что выбор одного столбца по умолчанию упрощает результат до вектора и ломает код, ожидающий двумерный объект
m[i, j] выбирает элемент, а пропуск измерения выбирает строку или столбец; drop = FALSE сохраняет матричную форму; поэтому достаточно один раз проверить класс объекта на текущем наборе данных
rowSums и colMeans явно задают направление агрегации и обычно надёжнее apply() для стандартных числовых сводок; при этом главный риск состоит в том, что перепутанное значение MARGIN в apply() меняет агрегацию по строкам на агрегацию по столбцам при синтаксически корректном коде
m[i, j] выбирает элемент, а пропуск измерения выбирает строку или столбец; drop = FALSE сохраняет матричную форму; при этом главный риск состоит в том, что ожидание построчного заполнения меняет расположение элементов и делает последующие вычисления по строкам неверными
Вопрос 15 из 20
Ситуация: Отчёт должен содержать среднее по каждому наблюдению, но после смены формы матрицы число значений в сводке неожиданно изменилось. Какой вывод точнее всего связывает механизм и главный риск?
R Фрагмент R Копировать
m <- matrix(1:12, nrow = 3)
result <- apply(m, 1, mean)
result
rowSums и colMeans явно задают направление агрегации и обычно надёжнее apply() для стандартных числовых сводок; при этом главный риск состоит в том, что ожидание построчного заполнения меняет расположение элементов и делает последующие вычисления по строкам неверными
Вектор меньшей длины перерабатывается при поэлементной операции; предупреждение появляется, когда большая длина не кратна меньшей; при этом главный риск состоит в том, что кратная длина не гарантирует смысловую корректность переработки, поэтому ошибка может пройти без предупреждения
matrix() заполняет значения по столбцам по умолчанию, а byrow = TRUE переключает заполнение по строкам; при этом главный риск состоит в том, что перепутанное значение MARGIN в apply() меняет агрегацию по строкам на агрегацию по столбцам при синтаксически корректном коде
rowSums и colMeans явно задают направление агрегации и обычно надёжнее apply() для стандартных числовых сводок; следовательно, совпадение числа строк можно считать полной проверкой решения
rowSums и colMeans явно задают направление агрегации и обычно надёжнее apply() для стандартных числовых сводок; при этом главный риск состоит в том, что перепутанное значение MARGIN в apply() меняет агрегацию по строкам на агрегацию по столбцам при синтаксически корректном коде
Вопрос 18 из 20
Ситуация: К каждому столбцу требуется применить свой коэффициент, однако простой оператор умножения распределяет коэффициенты иначе, чем ожидал автор. Что нужно сделать, чтобы ошибка не вернулась на следующем наборе данных?
Укажите byrow явно, когда порядок входного потока имеет смысл, и задайте dimnames для читаемой проверки
Выберите специализированную функцию или подпишите смысл MARGIN, а размер результата сверяйте с числом строк либо столбцов
Используйте drop = FALSE в интерфейсах, где размерность должна сохраняться независимо от числа выбранных столбцов
Интерпретируйте коэффициенты относительно базовых уровней, единиц и взаимодействий, при необходимости вычисляя предельные эффекты
Явно выровняйте измерения через матрицу, sweep() или проверку длины, а не полагайтесь на recycling
Вопрос 20 из 20
Ситуация: К каждому столбцу требуется применить свой коэффициент, однако простой оператор умножения распределяет коэффициенты иначе, чем ожидал автор. Что стоит написать в технической рецензии к этому фрагменту?
R Фрагмент R Копировать
m <- matrix(1:6, nrow = 2)
weights <- c(10, 100)
result <- m * weights
result
rowSums и colMeans явно задают направление агрегации и обычно надёжнее apply() для стандартных числовых сводок; при этом главный риск состоит в том, что кратная длина не гарантирует смысловую корректность переработки, поэтому ошибка может пройти без предупреждения
matrix() заполняет значения по столбцам по умолчанию, а byrow = TRUE переключает заполнение по строкам; при этом главный риск состоит в том, что ожидание построчного заполнения меняет расположение элементов и делает последующие вычисления по строкам неверными
Вектор меньшей длины перерабатывается при поэлементной операции; предупреждение появляется, когда большая длина не кратна меньшей; при этом главный риск состоит в том, что кратная длина не гарантирует смысловую корректность переработки, поэтому ошибка может пройти без предупреждения
Вектор меньшей длины перерабатывается при поэлементной операции; предупреждение появляется, когда большая длина не кратна меньшей; при этом главный риск состоит в том, что перепутанное значение MARGIN в apply() меняет агрегацию по строкам на агрегацию по столбцам при синтаксически корректном коде
Вектор меньшей длины перерабатывается при поэлементной операции; предупреждение появляется, когда большая длина не кратна меньшей; поэтому повторный запуск в той же сессии заменяет проверку граничных случаев