如何获取存储在向量中的索引处的所有元素?

乔尔德先生

我有一个矩阵,其中每一行都包含零和一个单一的数字,比如说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)来获得在另一个矢量给定位置具有元素的矢量

我已经在寻找这个了,但是我真的不知道怎么称呼它,因此我没有发现任何有用的东西。抱歉如果这个问题已经在某个地方徘徊了...

阿克伦

我们可以使用row/column索引来提取与“ x”和“ y”索引相对应的元素,然后获取sum

sum(y[cbind(1:nrow(y), x)])
#[1] 2

如果值不等于1,

sum(y[cbind(1:nrow(y), x)]==1)

或者在这种情况下

sum(diag(y)==1)
#[1] 2

要么

sum(y*diag(y))

编辑:根据注释,将行/列索引从cbind(x,1:ncol(y))更改cbind(1:nrow(y), x)为。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在字符串向量中获取某个元素的位置,以将其用作int向量中的索引?

如何获取numpy数组中重复元素的所有索引的列表?

如何在可选列表中的特定索引处获取元素?

Java 8:如何从Stream的索引处获取元素

如何从匹配模式的向量中删除所有元素?

Python向量化,如何使用numpy获取每一行的所有索引

如何删除数据帧中偶数索引处的所有行?

如何获取ng-repeat中数组所有索引的第一个元素的和?

在C ++中找到向量中每个索引处累积的唯一元素计数的有效方法

如何获取输入值,然后针对0索引处的所有数组对象值进行检查

如何在Azure DevOps中获取所有存储库

如何获取当月所有日期的向量

在列表向量上调用clear()会清除每个索引处列表中的所有节点吗?

如何从Lucene 8.6.1索引中获取所有令牌的列表?

如何访问向量中向量内的所有第二个元素?

如何使用组合中给定元素的索引获取向量?

C ++:如何在向量向量中打印所有元素

如何获取Pandas中特定索引之前的所有行?

如何在Java中获取所有索引的字段映射

如何从列表中的向量中消除存在于vecor中的元素的所有元素

根据特定值从具有多个元素的向量中获取索引

如何使用在sigma中具有索引的向量的元素?

如何从列表中的每个元素都是元组的列表中获取元组第 0 个索引处的最大值?

如何从数组中的所有索引中获取特定值

如何在 Elasticsearch 中获取所有封闭索引?

如何提取数组中用户指定索引处的所有信息,存储以备后用

如何获取列表中多次出现的值的所有索引?

如何获取具有指定索引的单个列表中的元素?

从用户指定的索引处的数组中获取元素