R语言【base】——apply():在数组边距上应用函数

Package base version 4.2.0


Description

返回通过将函数应用于数组或矩阵的边距而获得的向量或数组或值列表。


Usage

R 复制代码
apply(X, MARGIN, FUN, ..., simplify = TRUE)

Arguments

参数【X】:一个数组,包括一个矩阵。

参数【MARGIN】:一个给出下标的向量,函数将作用于这个下标。例如,对于矩阵,1 表示行,2 表示列,c(1,2) 表示行和列。其中**参数【X】**具有命名 dimname,它可以是选择维度名称的字符向量。

参数【FUN】 :要应用的函数。对于 +、**%*%**等函数,函数名必须用反引号或引号括起来。

参数【...】:**参数【FUN】**的可选参数。

参数【simplify】:说明结果是否应尽可能简化的逻辑值。


Details

如果**参数【X】**不是一个数组,而是一个具有非空 dim 值 (例如数据帧) 的类的对象,则 apply 尝试通过 as.array 将其强制转换为一个数组。如果它是二维的 (例如,一个数据帧) 则通过 as.matrix 转换。

参数【FUN】 是通过调用 match 找到的。通常是一个函数或一个符号 (例如,一个反引号的名称),或者一个字符串,指定要从要应用的调用环境中搜索的函数。

参数【...】的参数不能与任何其他参数具有相同的名称,并且可能需要注意避免与参数【MARGIN】参数【FUN】 部分匹配。在通用代码中,最好将前三个参数命名:这既避免了与参数【MARGIN】参数【FUN】 的部分匹配,又确保了在通过参数【...】传递名为参数【X】、**参数【MARGIN】参数【FUN】**的参数时给出一个合理的错误消息。


Value

如果每次调用参数【FUN】 返回一个长度为 n 的向量,且参数【simplify】TRUE,则apply 返回一个维度为 c(n, dim(X)[MARGIN]) 的数组 (如果n > 1)。如果 n 等于 1, apply 返回一个向量,如果**参数【MARGIN】**长度为 1 ,则返回一个维度 dim(X)[MARGIN] 的数组。如果 n0 ,则结果长度为 0,但不一定是 "正确" 的维度。

如果调用参数【FUN】 返回不同长度的向量,或者如果**参数【simplify】**为 FALSE, apply返回一个长度为 prod(dim(X)[MARGIN]) 的列表,如果长度大于 1 ,则 dim 设置为 参数【MARGIN】

在所有情况下,结果都由 as.vector 强制执行。在设置维度之前,将向量转换为基本向量类型之一,这样 (例如) 因子结果将被强制转换为字符数组。

相关推荐
资深web全栈开发2 分钟前
从零构建即时通讯系统:Go + Vue3 实战指南
开发语言·后端·golang·im 通许
Tiger Z5 分钟前
《R for Data Science (2e)》免费中文翻译 (第14章) --- Strings(1)
数据分析·r语言·数据科学·免费书籍
小杍随笔6 分钟前
【Zed 编辑器配置全攻略:自动保存、Prettier、终端字体与格式化设置一步到位】
开发语言·rust·编辑器
Predestination王瀞潞10 分钟前
Python3:Fifteenth 类型注解(Type Hints)
开发语言·python
fie888913 分钟前
Qt对Word网页的读写功能实现
开发语言·qt·word
songgz1 小时前
洋葱式双向解析器演示(Ruby)
开发语言·后端·ruby
秋邱1 小时前
AR 应用流量增长与品牌 IP 打造:从被动接单到主动获客
开发语言·人工智能·后端·python·ar·restful
源代码•宸1 小时前
GoLang并发示例代码2(关于逻辑处理器运行顺序)
服务器·开发语言·经验分享·后端·golang
郑州光合科技余经理8 小时前
同城系统海外版:一站式多语种O2O系统源码
java·开发语言·git·mysql·uni-app·go·phpstorm
一只乔哇噻8 小时前
java后端工程师+AI大模型开发进修ing(研一版‖day60)
java·开发语言·人工智能·学习·语言模型