• 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,则返回一个矩阵,其中每一行表示一个满足条件的元素的索引。示例:
    示例:

    1. x <- c(1, 2, 3, 4, 5)
    2. which(x > 3)
    3. # 输出:4 5
    4. > matrix(c(1, 2, 3, 4, 5, 6), nrow = 2)
    5. [,1] [,2] [,3]
    6. [1,] 1 3 5
    7. [2,] 2 4 6
    8. >which(mat > 3, arr.ind = TRUE)
    9. # 输出:
    10. row col
    11. [1,] 2 2
    12. [2,] 1 3
    13. [3,] 2 3

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

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

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

  • 相关阅读:
    python中的并发编程-进程、线程2
    LVS-DR模式部署
    day29IO流(其他流)
    Unocss(原子化css) 使用及vue3 + vite + ts讲解
    【中秋国庆不断更】OpenHarmony定义扩展组件样式:@Extend装饰器
    ArcGIS Maps SDK for JS(二):MapView简介----创建2D地图
    elementUi自定义表头,根据判断显示不同的表头
    C++标准模板库(STL)-set介绍
    判断s字符串是否为“回文”的递归函数。
    使用Bochs调试操作系统代码
  • 原文地址:https://blog.csdn.net/u011375991/article/details/132678986