我从 Rcpp 开始,我正在阅读 Hadley 的书/页面。我想这些基础知识对我来说已经绰绰有余了,尽管我错过了某些方面或感觉这可能不那么基础:
如何使用 C++ 将属性分配给任意 R 对象?
例如:
// [[Rcpp::export]]
NumericVector attribs(CharacterVector x,NumericVector y) {
NumericVector out = y;
out.attr("my-attr") = x;
return out;
}
我知道我必须在 C++ 中指定类型,但我仍然想知道是否有办法将属性分配给我传递的任何 R 对象......我已经settatr
在data.table
使用 C++ 时看到了这一点,但似乎只适用于元素类data.table。除了为每个 R 模式/类编写一个额外的函数之外,还有什么办法吗?
编辑:最终目的是加快为列表的每个元素分配属性。我们之前在这里讨论过——但到目前为止还没有涉及到 Rcpp(除了通过其他包使用它。)