如何在R语言中复现MATLAB的数组索引提取功能?
在R中复现MATLAB的数组索引操作
没问题,我帮你把MATLAB里的数组索引操作转换成R的写法,其实很简单,核心是搞清楚两者在向量创建和索引语法上的小区别~
先拆解你MATLAB里的操作逻辑:
- 你先定义了索引位置
x = [2,7,8](应该是方括号,MATLAB用方括号创建数组) - 生成了从1到10的序列
var1 = 1:10(你写的(1:1:10,1)应该是笔误,实际就是1到10的连续数值) - 最后通过索引提取
var2 = var1(x,1),得到包含2、7、8的新数组
对应到R里的写法是这样的:
# 定义索引位置,R用c()创建向量 x <- c(2,7,8) # 生成1到10的序列,R的序列写法和MATLAB类似,1:10就代表1到10步长1 var1 <- 1:10 # 通过索引提取元素,R用方括号[]来索引,一维向量直接写索引即可 var2 <- var1[x] # 查看结果 var2 # 输出:[1] 2 7 8
额外提两个关键点:
- R和MATLAB一样都是1-based索引(也就是第一个元素的索引是1,不是0),所以你直接用2、7、8这些位置值完全没问题
- 如果是二维数组(比如矩阵),R的索引语法是
矩阵名[行索引, 列索引],和MATLAB的矩阵名(行索引, 列索引)逻辑一致,只是把括号换成了方括号
内容的提问来源于stack exchange,提问作者Infernez
相关产品推荐
相关产品推荐

