R mapply() Функция - Многомерное применение

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

Функция R mapply() — это многомерная версия sapply(), которая может применять функцию к нескольким спискам/векторам одновременно.

Когда нужно обрабатывать несколько аргументов поэлементно, mapply() может заменить вложенные циклы.

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

mapply(FUN, ..., MoreArgs = NULL, SIMPLIFY = TRUE)

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

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

  • ...Несколько аргументов (списков или векторов) для передачи в FUN.

  • MoreArgsСписок фиксированных аргументов (не участвующих в поэлементном переборе).

Примеры

# Генерация последовательностей с помощью mapply
result <- mapply(seq, from = c(1, 10, 100),
                      в = c(3, 15, 105))
print("Сгенерированные последовательности:")
print(result)

# Обработка нескольких аргументов поэлементно
names <- c("Чжан Сань", "Ли Сы", "Ван У")
math <- c(88, 92, 76)
английский <- c(90, 88, 82)

# Вычислить общий балл каждого студента
total <- mapply(function(n, m, e) {
  paste(n, "Общий балл:", m + e)
}, names, math, english)
print("Общий балл каждого человека:")
print(total)

Выполнение приведенного выше кода дает следующий вывод:

[1] "生成的序列:"
[[1]]
[1] 1 2 3

[[2]]
[1] 10 11 12 13 14 15

[[3]]
[1] 100 101 102 103 104 105

[1] "每人总分:"
[1] "张三 总分: 178" "李四 总分: 180" "王五 总分: 158"

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

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