我现在卡住了,想要使用Rcpp Armadillo找到向量x
中的元素在另一个向量vals
中的索引。这两个向量x
和vals
的类型都是arma::uvec
。
在R中,这很简单:
x <- c(1,1,1,4,2,4,4)
vals <- c(1,4)
which(v %in% vals)
我已经查看了Armadillo文档并尝试使用find()
,但由于vals
是一个向量,所以它无法正常工作。我还尝试过intersect()
,但它只返回第一个唯一索引。
使用Armadillo,有什么好的/高效的方法可以实现这个目标吗?我是否必须使用find()
来迭代遍历vals
中的元素?
hash
的方法,這樣更簡潔! - Dirk Eddelbuetteli:y
是指直接遍历y
中的元素,而不是通过“索引”(如for (i = 0; i < y.size(); i++) a = a + (x==y(i))
)进行遍历吗? - Econ21