小编chr*_*nna的帖子

根据不同的列和行组合选择各种单元格

我有索引向量,我想根据它进行过滤。在每一列中,将选择不同的行。输出将是一个过滤值向量,其长度为列数。芽不使用慢循环。例如

set.seed(123)
(M <- matrix(rnorm(25), 5))

            [,1]       [,2]       [,3]       [,4]       [,5]
[1,] -0.56047565  1.7150650  1.2240818  1.7869131 -1.0678237
[2,] -0.23017749  0.4609162  0.3598138  0.4978505 -0.2179749
[3,]  1.55870831 -1.2650612  0.4007715 -1.9666172 -1.0260044
[4,]  0.07050839 -0.6868529  0.1106827  0.7013559 -0.7288912
[5,]  0.12928774 -0.4456620 -0.5558411 -0.4727914 -0.6250393

indices <- c(2, 3, 1, 4, 4)
vect <- c()

for(i in 1:5) {
  vect <- c(vect, M[indices[i], i])
}
vect
[1] -0.2301775 -1.2650612  1.2240818  0.7013559 -0.7288912
Run Code Online (Sandbox Code Playgroud)

我有更大的数据集,因此 for 循环并不理想。但我想不出更好的办法,也找不到更好的办法。

r

2
推荐指数
1
解决办法
57
查看次数

标签 统计

r ×1