说一个拥有
input=c(1,2)
mat=matrix(1:9,ncol=3)
人们如何将输入向量转换为一种可以调用的形式
mat[input]
并接收矩阵的mat [1,2]元素?我问是因为我要编辑长度为n的数组的元素。
答案 0 :(得分:2)
mat[t(input)]
Chambers的书用于数据分析的软件列出了4种对矩阵进行子集(即,提取其元素)的方法。方法2是上述问题的答案。我将以一个简短的示例发布Chambers的4种方法。对于示例,我们将使用矩阵m
,并在(4,1)和(6,2)位置提取元素,分别具有值104和116。
m <- matrix(101:120, ncol=2)
1。。分别为列和行建立索引:
m[4,1]
m[6,2]
2。。将2列矩阵用作单个索引参数
k <- rbind(c(4,1), c(6,2))
m[k]
3。。使用逻辑表达式
m[1:10 == 4, 1:2 == 1]
m[1:10 == 6, 1:2 == 2]
#or
m[1:20 %in% c(4,16)]
4。使用向量子集,因为矩阵只是按列包装的向量
m[c(4,16)]
这是钱伯斯的书页201--202的屏幕截图: