R-which函数(带有arr.ind参数)

目录

一、which()函数

二、元素位置


一、which()函数

which()函数是R语言中的一个基础函数,用于返回满足指定条件的元素的位置或索引。

语法:
which(x, arr.ind = FALSE, useNames = TRUE)

参数:

  • x:一个向量、数组或矩阵,用于查找满足条件的元素。

  • arr.ind:一个逻辑值参数,用于指示是否返回结果中元素的索引。默认值为FALSE。

  • useNames:一个逻辑值参数,用于指示是否使用元素的名称作为结果中的行名。默认值为TRUE。

返回值:

  • 如果arr.ind为FALSE(默认值),则返回一个包含满足条件的元素的位置的向量。

  • 如果arr.ind为TRUE,则返回一个矩阵,其中每一行表示一个满足条件的元素的索引。示例:

示例:

R 复制代码
x <- c(1, 2, 3, 4, 5)
which(x > 3)
# 输出:4 5


> matrix(c(1, 2, 3, 4, 5, 6), nrow = 2)
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
>which(mat > 3, arr.ind = TRUE)
# 输出:
     row col
[1,]   2   2
[2,]   1   3
[3,]   2   3

which()函数通常用于查找满足特定条件的元素的位置,以便进一步处理或分析。

如果arr.ind = FALSE,那么which函数将返回一个向量,其中包含最小值的位置。在上面的示例中,如果将arr.ind设置为FALSE,则代码将如下所示:

R 复制代码
idx0 <- which(BICmat == min(BICmat, na.rm = TRUE), arr.ind = FALSE)

最小值为10,位于第1行第1列,因此结果将是一个长度为1的向量:

1 1

这表示最小值10在矩阵BICmat中的位置为1。注意,这里不再返回行和列的索引,而只返回元素的位置。

二、元素位置

在R中,矩阵中的元素按照列主序(column-major order)排列。也就是说,元素的位置是按照列来排列的,先从第一列的第一个元素开始,然后是第一列的第二个元素,以此类推,直到最后一列的最后一个元素。

举个例子,考虑以下3x3的矩阵:

```

1 4 7

2 5 8

3 6 9

```

按照列主序排列,元素的位置顺序如下:

1, 2, 3, 4, 5, 6, 7, 8, 9

所以在使用which函数时,arr.ind参数可以用来指示返回结果中元素的位置是按照行和列的索引还是按照元素的位置。

相关推荐
babe小鑫9 天前
信息与计算科学专业应届生面试 怎么证明自己能解决业务问题
学习·r语言·excel
深兰科技10 天前
深兰科技受邀参与第二届中国(南宁)—东盟人工智能场景应用对接会,深化AI国际合作
人工智能·qt·r语言·scala·symfony·智能机器人·深兰科技
赵钰老师11 天前
基于ArcGIS Pro、R、INVEST等多技术融合下生态系统服务权衡与协同动态分析
python·arcgis·数据分析·r语言
User_芊芊君子15 天前
RStudio 鸿蒙 PC 适配全记录:以 Qt 原生工作区承载嵌入式 R
qt·r语言·harmonyos
临床数据科学和人工智能兴趣组15 天前
399元现在超值!学R语言,订阅我们专栏就够了,包括了所有的内容,不断更新!
人工智能·数据挖掘·r语言·r语言-4.2.1·临床研究
babe小鑫16 天前
生物统计学专业校招:SAS、R、Python学习顺序实用指南
python·学习·r语言
大江东去浪淘尽千古风流人物16 天前
【LoMa】局部特征匹配重访:从LoMa-B到旋转不变LoMa-R的架构与工程实践
开发语言·深度学习·计算机视觉·r语言·视觉定位·sfm·局部特征匹配
babe小鑫17 天前
精算学专业秋招:Excel、SQL、R和Python应该先练什么
sql·r语言·excel
海盗123418 天前
微软技术日报 2026-09-10:Project Zenith 开发者设备亮相,.NET 11 RC1 可投产
microsoft·r语言·.net
统计学小王子19 天前
数学建模国赛倒计时1天——《统计模型精讲(岭回归R语言实战篇)》
数学建模·回归·r语言