【发布时间】:2016-02-10 11:34:11
【问题描述】:
我有一个矩阵,其中每一行都由零和一个单行组成,比如y <- rbind(c(1,0,0), c(0,1,0), c(0,1,0)),我有一个为每一行保存索引的向量,比如x <- c(1,2,3) 和。现在我想计算y[i,x[i]] == 1 持有的次数。我知道我可以这样做
count <- 0
for(i in 1:3)
count <- count + y[i, x[i]]
但如果有更聪明的方法,我很感兴趣。像count <- sum(y[,x]) 这样的东西。这当然行不通,因为y[,x] 给出了一个矩阵。
因此,我的问题是有没有办法通过使用 apply 或任何其他智能技巧(即不使用 for-loops)来获取具有另一个向量给定位置的元素的向量?
我一直在寻找这个,但我真的不知道如何调用它,因此我没有找到任何有用的东西。如果这个问题已经在某个地方徘徊,我们深表歉意......
【问题讨论】: