在Rcpp中访问命名列表元素

时间:2018-07-10 06:06:23

标签: r rcpp

我想通过Rcpp中的名称访问命名列表元素

在R

> b = list(bgroups=c(1,1,1,1,1,0,0,0,0,0))
> b$bgroups
[1] 1 1 1 1 1 0 0 0 0 0

然后在Rcpp中尝试访问此文件时 我尝试过:

cppFunction(
  "
void f(List & b){
 std::vector<int> c(10) = as<std::vector<int>> b['bgroups'];
}
  "
)

...

NumericVector groupings = b['bgroups'];

...

NumericVector groupings(10) = b(4);

但无济于事。

我已经查看了Dirk的许多有用答案,但无法建立联系 https://github.com/eddelbuettel/rcppexamples/blob/master/src/ListExample.cpp

How to handle list in R to Rcpp

2 个答案:

答案 0 :(得分:3)

不确定我是否完全理解您的问题,但是在下面的CppFunction中是否让您感到疲倦。

NumericVector Bgroups = as<NumericVector>(b["bgroups"]);

答案 1 :(得分:0)

您已经提到了source code for ListExample.cpp,如果您也看看source for the R complement RcppListExample.R,它确实应该很清楚。

您的问题也不完整且可重复,因此难以为您提供帮助。