本文整理汇总了C++中arma::colvec::elem方法的典型用法代码示例。如果您正苦于以下问题:C++ colvec::elem方法的具体用法?C++ colvec::elem怎么用?C++ colvec::elem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类arma::colvec
的用法示例。
在下文中一共展示了colvec::elem方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ksFastTestStatistic
// [[Rcpp::export]]
double ksFastTestStatistic(arma::colvec y, arma::colvec z){
uvec trt = find( z == 1 );
uvec ctrl = find( z == 0 );
vec yT = y.elem(trt);
vec yC = y.elem(ctrl);
// assuming no missing vals yT = yT[!is.na(yT)];
double nX = yT.n_rows; //length(yT);
double nY = yC.n_rows;
double n = nX * nY/(nX + nY);
colvec w = join_cols(yT, yC); // c(yT,yC)
uvec orderedw = sort_index(w); //order(w)
int totalN = nX + nY;
colvec d(totalN);
d.fill(1/nX);
d.elem( find( orderedw > nX ) ).fill(-1/nY);
// d = cumsum(Rcpp::ifelse(orderedw <= nX, 1/nX, -1/nY));
colvec F = cumsum(d);
// check for ties
vec uniqF = unique(w);
vec out = F;
if ( uniqF.n_elem < totalN ){
//uvec nonzerodiffs = find( diff(sort(F)) != 0 );
vec Fnonzerodiffs = F.elem( find( diff(sort(F)) != 0 ) );
vec out = Fnonzerodiffs; // I dont know why I cant use join_cols (Fnonzerodiffs,F(totalN-1))
out.insert_rows(1,F(totalN-1)); // z <- z[c(which(diff(sort(w)) != 0), n.x + n.y)]
}
// return(max(abs(out)));
return(max(abs(out)));
}