如何向Rcpp中的对象添加多个类?
我试过这个:如何向Rcpp中的对象添加多个类?,r,rcpp,R,Rcpp,我试过这个: #include <Rcpp.h> using namespace Rcpp; // [[Rcpp::export]] NumericVector difflag(NumericVector x, int lag) { int n = x.size(); NumericVector out(n-lag); for(int i=0; i<(n-lag); i++) { out[i] = x[i+lag] - x[i];
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
NumericVector difflag(NumericVector x, int lag) {
int n = x.size();
NumericVector out(n-lag);
for(int i=0; i<(n-lag); i++) {
out[i] = x[i+lag] - x[i];
}
out.attr("class") += "myclass";
return out;
}
#包括
使用名称空间Rcpp;
//[[Rcpp::导出]]
数值向量difflag(数值向量x,int-lag){
int n=x.size();
数值向量输出(n-滞后);
对于(int i=0;i可能类似于:
CharacterVector classes = out.attr( "class" ) ;
classes.push_back( "myclass" ) ;
out.attr( "class" ) = classes ;
可以为通用的append
函数留出空间。fastread库有一个很好的例子:output.attr(“class”)=CharacterVector::create(“tbl_df”,“data.frame”);
CharacterVector classes = out.attr( "class" ) ;
classes.push_back( "myclass" ) ;
out.attr( "class" ) = classes ;