You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言数组索引疑问:解析x[c(1,2), c(TRUE, TRUE, FALSE)]执行逻辑

理解R语言数组的索引操作

首先,咱们先回顾你创建的数组x:

x = array(data = 1:6, dim = c(2,3))

它的结构是:

[,1] [,2] [,3]
[1,] 1  3  5
[2,] 2  4  6

接下来咱们拆解x[c(1,2), c(TRUE, TRUE, FALSE)]这个索引操作,R语言中二维数组的索引格式是x[行索引, 列索引],逗号分隔开行和列的选择规则:

  • 行索引部分:c(1,2)
    这是用位置索引指定要选取的行,1和2分别对应数组的第1行和第2行。因为你的数组本来就只有2行,所以这一步其实是保留了所有行。

  • 列索引部分:c(TRUE, TRUE, FALSE)
    这是用逻辑索引指定要选取的列,数组一共有3列,这个布尔向量的长度刚好和列数一致,每个元素对应一列:

    • 第一个TRUE表示保留第1列
    • 第二个TRUE表示保留第2列
    • 第三个FALSE表示排除第3列

把两部分结合起来,这个语句的实际逻辑就是:选取数组x的所有行,同时保留前两列、排除第三列,所以最终输出的就是一个2行2列的数组:

[,1] [,2]
[1,] 1  3
[2,] 2  4

内容的提问来源于stack exchange,提问作者Suhail Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:07:43