本文整理汇总了C++中GroupedDataFrame::nvars方法的典型用法代码示例。如果您正苦于以下问题:C++ GroupedDataFrame::nvars方法的具体用法?C++ GroupedDataFrame::nvars怎么用?C++ GroupedDataFrame::nvars使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GroupedDataFrame
的用法示例。
在下文中一共展示了GroupedDataFrame::nvars方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: summarise_grouped
SEXP summarise_grouped(const GroupedDataFrame& gdf, List args, const DataDots& dots){
DataFrame df = gdf.data() ;
int nexpr = args.size() ;
int nvars = gdf.nvars() ;
CharacterVector results_names = args.names() ;
check_not_groups(results_names, gdf);
NamedListAccumulator<SEXP> accumulator ;
int i=0;
for( ; i<nvars; i++){
SET_NAMED(gdf.label(i), 2) ;
accumulator.set( PRINTNAME(gdf.symbol(i)), gdf.label(i) ) ;
}
LazyGroupedSubsets subsets(gdf) ;
Shelter<SEXP> __ ;
for( int k=0; k<nexpr; k++, i++ ){
Environment env = dots.envir(k) ;
Result* res = get_handler( args[k], subsets, env ) ;
// if we could not find a direct Result
// we can use a GroupedCalledReducer which will callback to R
if( !res ) res = new GroupedCalledReducer( args[k], subsets, env) ;
SEXP result = __( res->process(gdf) ) ;
SEXP name = results_names[k] ;
accumulator.set( name, result );
subsets.input( Symbol(name), SummarisedVariable(result) ) ;
delete res;
}
return summarised_grouped_tbl_cpp(accumulator, gdf );
}
示例2: summarise_grouped
SEXP summarise_grouped(const GroupedDataFrame& gdf, List args, Environment env){
DataFrame df = gdf.data() ;
int nexpr = args.size() ;
int nvars = gdf.nvars() ;
CharacterVector results_names = args.names() ;
List out(nexpr + nvars) ;
CharacterVector names(nexpr + nvars) ;
int i=0;
for( ; i<nvars; i++){
out[i] = gdf.label(i) ;
SET_NAMED(out[i], 2) ;
names[i] = CHAR(PRINTNAME(gdf.symbol(i))) ;
}
LazyGroupedSubsets subsets(gdf) ;
for( int k=0; k<nexpr; k++, i++ ){
Result* res( get_handler( args[k], subsets ) ) ;
// if we could not find a direct Result
// we can use a GroupedCalledReducer which will callback to R
if( !res ) res = new GroupedCalledReducer( args[k], gdf, env) ;
out[i] = res->process(gdf) ;
names[i] = results_names[k] ;
delete res;
}
return summarised_grouped_tbl_cpp(out, names, gdf );
}