探索 rcpp 中分类向量的元素
explore elements of a categorical vector in rcpp
我的问题很简单,但我是 RCPP 的新手,还没有掌握。我想创建一个函数,给定一个分类向量和两个整数 returns 这两个整数之间的向量内容的子集。你知道,["A","B","C",“D] 和 1 和 2,returns 我 ["B","C"]。
我做了下一个代码,但没有用。
// [[Rcpp::export]]
Rcpp::StringVector Segment(Rcpp::StringVector x, int start, int end) {
Rcpp::StringVector s(end-start+1);
for(int i=start; i <= end; i++){
s[i]=x[i];
}
return(s);
}
尝试使用CharacterVector
。解决方案可能是这样的。
// [[Rcpp::export]]
CharacterVector Segment( CharacterVector x, int start, int end){
CharacterVector r(end-start+1);
int ind=0;
for( int i=0; i<=r.size(); i++){
if((i>=start) & (i<=end)){
r[ind]=x[i];
ind+=1;
}
}
return(r);
}
我的问题很简单,但我是 RCPP 的新手,还没有掌握。我想创建一个函数,给定一个分类向量和两个整数 returns 这两个整数之间的向量内容的子集。你知道,["A","B","C",“D] 和 1 和 2,returns 我 ["B","C"]。 我做了下一个代码,但没有用。
// [[Rcpp::export]]
Rcpp::StringVector Segment(Rcpp::StringVector x, int start, int end) {
Rcpp::StringVector s(end-start+1);
for(int i=start; i <= end; i++){
s[i]=x[i];
}
return(s);
}
尝试使用CharacterVector
。解决方案可能是这样的。
// [[Rcpp::export]]
CharacterVector Segment( CharacterVector x, int start, int end){
CharacterVector r(end-start+1);
int ind=0;
for( int i=0; i<=r.size(); i++){
if((i>=start) & (i<=end)){
r[ind]=x[i];
ind+=1;
}
}
return(r);
}