现在位置: 首页 > R 教程 > 正文

R apply() 函数 - 数组应用

R 语言实例 R 语言实例

R apply() 函数用于对矩阵或数组的行或列应用一个函数。

apply() 可以避免写显式循环,使代码更简洁高效。

apply() 函数语法格式如下:

apply(X, MARGIN, FUN, ...)

参数说明:

  • X 输入矩阵或数组。

  • MARGIN 维度:1 表示按行,2 表示按列,c(1,2) 表示行列同时。

  • FUN 要应用的函数。

  • ... 传递给 FUN 的额外参数。

实例

# 创建成绩矩阵
scores <- matrix(c(88, 92, 76, 85, 90,
                   90, 88, 82, 78, 95,
                   85, 91, 78, 88, 92),
                 nrow = 5, ncol = 3)
colnames(scores) <- c("数学", "英语", "编程")
rownames(scores) <- c("张三", "李四", "王五", "赵六", "钱七")
print("成绩矩阵:")
print(scores)

# 按行计算每个学生的平均分
row_means <- apply(scores, 1, mean)
print("每人平均分:")
print(round(row_means, 1))

# 按列计算每科的最高分
col_max <- apply(scores, 2, max)
print("每科最高分:")
print(col_max)

执行以上代码输出结果为:

[1] "成绩矩阵:"
     数学 英语 编程
张三   88   90   85
李四   92   88   91
王五   76   82   78
赵六   85   78   88
钱七   90   95   92
[1] "每人平均分:"
张三 李四 王五 赵六 钱七
87.7 90.3 78.7 83.7 92.3
[1] "每科最高分:"
数学 英语 编程
  92   95   92

R 语言实例 R 语言实例