R R  ·  20 вопросов  ·  ~55 мин  ·  ⏱ Таймер 55:00  ·  Лёгкий  · 

Семейство apply

Вместо пересказа справочника здесь используются фрагменты кода, изменения данных и спорные выводы. В тесте «Семейство apply» рассматриваются apply: применение функции по измерениям, lapply: результат в виде списка, sapply: упрощение результата и tapply: расчёты по группам. Нужно предсказывать структуру результата, находить скрытые риски, выбирать исправление и доказывать его проверкой. Из 20 вопросов 12 содержат код; остальные описывают ситуации, в которых синтаксически допустимое решение может привести к неверному аналитическому выводу.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 20 вопросов отведено 55 минут. Читайте код построчно, учитывайте типы, атрибуты, пропуски и допущения анализа. После завершения откроются общий процент, 4 тематических шкал и объяснение к каждому заданию.
Вопрос 1 из 20
Ситуация: Аналитик применяет функцию ко всем столбцам таблицы, не заметив, что один из них содержит подписи. Какое правило нужно применить к этому фрагменту прежде всего?
RФрагмент R
df <- data.frame(a = 1:3, b = c('x', 'y', 'z'))
result <- apply(df, 2, class)
result
Вопрос 2 из 20
Ситуация: Аналитик применяет функцию ко всем столбцам таблицы, не заметив, что один из них содержит подписи. Что в этой ситуации способно исказить вывод без явной синтаксической ошибки?
RФрагмент R
df <- data.frame(a = 1:3, b = c('x', 'y', 'z'))
result <- apply(df, 2, class)
result
Вопрос 3 из 20
Ситуация: Аналитик применяет функцию ко всем столбцам таблицы, не заметив, что один из них содержит подписи. Что следует изменить в коде или процессе?
Вопрос 4 из 20
Ситуация: Аналитик применяет функцию ко всем столбцам таблицы, не заметив, что один из них содержит подписи. Какой тест лучше всего ловит повтор этой ошибки?
Вопрос 5 из 20
Ситуация: Аналитик применяет функцию ко всем столбцам таблицы, не заметив, что один из них содержит подписи. Как сформулировать вывод без лишних обобщений?
RФрагмент R
df <- data.frame(a = 1:3, b = c('x', 'y', 'z'))
result <- apply(df, 2, class)
result
Вопрос 6 из 20
Ситуация: Для каждого столбца вычисляется диапазон, а следующий шаг ошибочно считает результат обычной матрицей. Какой механизм точнее всего объясняет связь кода с ситуацией?
RФрагмент R
x <- list(a = 1:3, b = 4:5)
result <- lapply(x, range)
result
Вопрос 7 из 20
Ситуация: Для каждого столбца вычисляется диапазон, а следующий шаг ошибочно считает результат обычной матрицей. Какой дефект нужно искать в первую очередь?
RФрагмент R
x <- list(a = 1:3, b = 4:5)
result <- lapply(x, range)
result
Вопрос 8 из 20
Ситуация: Для каждого столбца вычисляется диапазон, а следующий шаг ошибочно считает результат обычной матрицей. Какой вариант исправления сохраняет смысл анализа?
Вопрос 9 из 20
Ситуация: Для каждого столбца вычисляется диапазон, а следующий шаг ошибочно считает результат обычной матрицей. Какая проверка относится к исходному риску, а не к внешнему виду результата?
Вопрос 10 из 20
Ситуация: Для каждого столбца вычисляется диапазон, а следующий шаг ошибочно считает результат обычной матрицей. Какое заключение лучше всего выдерживает проверку?
RФрагмент R
x <- list(a = 1:3, b = 4:5)
result <- lapply(x, range)
result
Вопрос 11 из 20
Ситуация: На обычных данных функция возвращала матрицу, но пустая группа внезапно превратила результат в список. На какое свойство R здесь следует опереться?
RФрагмент R
x <- list(a = 1:3, b = numeric(0))
result <- sapply(x, function(z) if (length(z)) range(z) else numeric(0))
result
Вопрос 12 из 20
Ситуация: На обычных данных функция возвращала матрицу, но пустая группа внезапно превратила результат в список. Почему успешный запуск ещё не доказывает корректность?
RФрагмент R
x <- list(a = 1:3, b = numeric(0))
result <- sapply(x, function(z) if (length(z)) range(z) else numeric(0))
result
Вопрос 13 из 20
Ситуация: На обычных данных функция возвращала матрицу, но пустая группа внезапно превратила результат в список. Какая правка лучше локальной заплатки?
Вопрос 14 из 20
Ситуация: На обычных данных функция возвращала матрицу, но пустая группа внезапно превратила результат в список. Как подтвердить корректность на граничном случае?
Вопрос 15 из 20
Ситуация: На обычных данных функция возвращала матрицу, но пустая группа внезапно превратила результат в список. Какой вывод точнее всего связывает механизм и главный риск?
RФрагмент R
x <- list(a = 1:3, b = numeric(0))
result <- sapply(x, function(z) if (length(z)) range(z) else numeric(0))
result
Вопрос 16 из 20
Ситуация: Справочник содержит категорию, которой нет в текущей выборке, а сводка должна сохранить её как пустую, не как нулевую. Какое утверждение лучше всего объясняет показанный фрагмент?
RФрагмент R
x <- c(10, 20, 30)
g <- factor(c('A', 'A', 'B'), levels = c('A', 'B', 'C'))
result <- tapply(x, g, mean)
result
Вопрос 17 из 20
Ситуация: Справочник содержит категорию, которой нет в текущей выборке, а сводка должна сохранить её как пустую, не как нулевую. Какое скрытое допущение здесь опаснее остальных?
RФрагмент R
x <- c(10, 20, 30)
g <- factor(c('A', 'A', 'B'), levels = c('A', 'B', 'C'))
result <- tapply(x, g, mean)
result
Вопрос 18 из 20
Ситуация: Справочник содержит категорию, которой нет в текущей выборке, а сводка должна сохранить её как пустую, не как нулевую. Что нужно сделать, чтобы ошибка не вернулась на следующем наборе данных?
Вопрос 19 из 20
Ситуация: Справочник содержит категорию, которой нет в текущей выборке, а сводка должна сохранить её как пустую, не как нулевую. Какая проверка непосредственно подтверждает, что дефект устранён?
Вопрос 20 из 20
Ситуация: Справочник содержит категорию, которой нет в текущей выборке, а сводка должна сохранить её как пустую, не как нулевую. Что стоит написать в технической рецензии к этому фрагменту?
RФрагмент R
x <- c(10, 20, 30)
g <- factor(c('A', 'A', 'B'), levels = c('A', 'B', 'C'))
result <- tapply(x, g, mean)
result

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу