📅  最后修改于: 2023-12-03 14:51:08.315000             🧑  作者: Mango
在 R 编程中,对数组或矩阵的边距执行操作是一项常见的任务。使用apply()函数可以轻松完成这个任务。该函数允许您对矩阵的每一行或每一列执行函数,并返回结果。
apply(X, MARGIN, FUN, ...)
参数说明:
假设我们有一个3x3的矩阵:
mat <- matrix(1:9, nrow=3)
mat
#> [,1] [,2] [,3]
#> [1,] 1 4 7
#> [2,] 2 5 8
#> [3,] 3 6 9
我们想要计算每行/每列的总和:
# 对行执行操作
apply(mat, 1, sum)
#> [1] 12 15 18
# 对列执行操作
apply(mat, 2, sum)
#> [1] 6 15 24
我们还可以用apply()函数来执行自定义函数。例如,假设我们有一个函数,计算一个数是否为奇数:
is_odd <- function(x) {
if (x %% 2 == 1) {
return(TRUE)
} else {
return(FALSE)
}
}
我们可以使用apply()函数来检查矩阵中的每个元素是否为奇数:
# 单元格级别上执行操作
apply(mat, c(1, 2), is_odd)
#> [,1] [,2] [,3]
#> [1,] TRUE FALSE FALSE
#> [2,] FALSE TRUE FALSE
#> [3,] TRUE FALSE FALSE
在此示例中,我们将 apply()函数用于每个单元格,而不是每行/列。
使用apply()函数可以轻松地对数组或矩阵的边距执行操作,并返回结果。apply()函数允许您将任意函数应用于整行、整列或单个单元格级别的矩阵元素上。此功能使它成为R语言中一项极其强大的工具。