【发布时间】:2018-10-06 16:31:08
【问题描述】:
我的程序处理聚类。除了数据集,用户还必须指定一些关于集群的细节。有两种方法可以解决这个问题:指定集群的数量或准备集群的描述列表。
args <- list(dataset=points, K=5)
args <- list(dataset=points, clusters=list(
list(type="spherical",radius=4),
list(type="covariance",covMat=matrix)
)
接下来你在 R 中调用适当的函数(我的程序),并使用 args 作为参数。
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 的定义几乎没有帮助。
我可以用什么来代替list.contains() 吗?
【问题讨论】:
标签: rcpp