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

如何在R语言中按指定列索引对二维数组进行切片?

R语言提取指定列的矩阵操作方法

假设我们有如下二维矩阵:

A <- matrix(c(1,2,3,4,5,6,7,8,9), nrow = 3, byrow = TRUE)

运行后得到的矩阵和你给出的一致:

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

要提取指定列(比如你说的第0列和第2列,对应R里的第1列和第3列——因为R的索引是从1开始的),可以用类似Python的索引语法,只需要注意索引起始值的差异:

直接用1基索引提取

# 提取第1列和第3列
new_matrix <- A[, c(1, 3)]

从0基索引转换后提取

如果你习惯Python的0基索引,可以先把给定的索引加1再提取:

i <- c(0, 2)
new_matrix <- A[, i + 1]

两种方法运行后都会得到目标矩阵:

[,1] [,2]
[1,]    1    3
[2,]    4    6
[3,]    7    9

核心逻辑:R中矩阵的索引格式为矩阵名[行索引, 列索引],逗号左侧控制行、右侧控制列,逻辑和Python一致,但R的索引起始值为1,这是二者的关键差异。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 14:35:02