Rcpp 检查列表是否包含元素。

5

我的程序涉及聚类。除了数据集之外,用户还需要指定有关聚类的一些细节。有两种方法可以解决这个问题:您可以指定聚类的数量或准备聚类描述列表。

args <- list(dataset=points, K=5)
args <- list(dataset=points, clusters=list(
                             list(type="spherical",radius=4),
                             list(type="covariance",covMat=matrix)
                                          )

下一步,您需要使用参数作为参数,在R中调用适当的函数(我的程序)。
classification <- CEC(args)

我想准备如下的CEC:

SEXP CEC(SEXP args) {
  Rcpp::List list(args);
  arma::mat dataset = Rcpp::as<arma::mat>(list["dataset"]);
  if(list.contains("K")) {
    //something
  } else if(list.contains("clusters")) {
    //something
  }
}

我找不到任何关于List的API或示例。此外,我研究了Rcpp的头文件,但是typedef Vector<VECSXP> List ;的定义几乎没有帮助。

有什么可以替代list.contains()吗?

1个回答

15

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接