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参数可以用来指示返回结果中元素的位置是按照行和列的索引还是按照元素的位置。

相关推荐
czhc11400756633 天前
LINUX913 shell:set ip [lindex $argv 0],\r,send_user,spawn ssh root@ip “cat “
tcp/ip·r语言·ssh
zhangfeng11333 天前
win7 R 4.4.0和RStudio1.25的版本兼容性以及系统区域设置有关 导致Plots绘图面板被禁用,但是单独页面显示
开发语言·人工智能·r语言·生物信息
zhangfeng11334 天前
在 R 语言里,`$` 只有一个作用 按名字提取“列表型”对象里的单个元素 对象 $ 名字
开发语言·windows·r语言
高-老师4 天前
R语言生物群落(生态)数据统计分析与绘图实践技术应用
开发语言·r语言·生物群落
WangYan20224 天前
R语言:数据读取与重构、试验设计(RCB/BIB/正交/析因)、ggplot2高级绘图与统计检验(t检验/方差分析/PCA/聚类)
r语言·ggplot2·dplyr
zhangfeng11335 天前
错误于make.names(vnames, unique = TRUE): invalid multibyte string 9 使用 R 语言进行数据处理时
开发语言·r语言·生物信息
zhangfeng11335 天前
R geo 然后读取数据的时候 make.names(vnames, unique = TRUE): invalid multibyte string 9
开发语言·chrome·r语言·生物信息
梦想的初衷~6 天前
R语言生物群落数据分析全流程:从数据清洗到混合模型与结构方程
机器学习·r语言·生态·环境
没有梦想的咸鱼185-1037-16638 天前
基于R语言机器学习方法在生态经济学领域中的实践技术应用
开发语言·机器学习·数据分析·r语言
zhangfeng11338 天前
R 语法高亮为什么没有,是需要安装专用的编辑软件,R语言自带的R-gui 功能还是比较简单
开发语言·r语言