Функция sapply() в R — применение к списку с упрощённым выводом

R 语言实例Пример на языке R

Функция sapply() в R похожа на lapply(), но она пытается упростить возвращаемый список до вектора или матрицы.

Когда результат, возвращаемый lapply(), можно упростить до простой структуры, sapply() сделает это автоматически.

Синтаксис функции sapply() выглядит следующим образом:

sapply(X, FUN, ..., simplify = TRUE)

Описание параметра:

  • XВходной список или вектор.

  • FUNФункция, которую нужно применить.

  • simplifyСледует ли пытаться упростить результат; по умолчанию TRUE.

Пример

# sapply vs lapply: вычислить среднее
scores <- list(
Чжан Сань= c(88, 90, 85),
Ли Сы= c(92, 88, 91),
Ван Ву= c(76, 82, 78)
)

# lapply возвращает список
result_list <- lapply(scores, mean)
print("результат lapply (список):")
print(result_list)

# sapply возвращает вектор
result_vec <- sapply(scores, mean)
print("результат sapply (вектор):")
print(result_vec)

# sapply используется для вычисления статистик по каждому столбцу в датафрейме
df <- data.frame(Mathematics= c(88, 92, 76),
Английский= c(90, 88, 82),
Программирование= c(85, 91, 78))
stat <- sapply(df, function(x) c(Среднее= mean(x),
Стандартное отклонение= sd(x)))
print("Несколько статистик:")
print(stat)

Вывод после выполнения приведённого выше кода:

[1] "lapply 结果 (列表):"
$张三
[1] 87.66667

$李四
[1] 90.33333

$王五
[1] 78.66667

[1] "sapply 结果 (向量):"
    张三     李四     王五
87.66667 90.33333 78.66667
[1] "多统计量:"
          数学    英语    编程
均值    85.333 86.667 84.667
标准差   8.327  4.163  6.506

R 语言实例Пример на языке R

Другие расширения