Classes.c

Go to the documentation of this file.
00001 
00009 #include "party.h"
00010 
00011 SEXP 
00012     PL2_expectationSym,
00013     PL2_covarianceSym,
00014     PL2_linearstatisticSym,
00015     PL2_expcovinfSym,
00016     PL2_expcovinfssSym,
00017     PL2_sumweightsSym,
00018     PL2_dimensionSym,
00019     PL2_MPinvSym,  
00020     PL2_rankSym,
00021     PL2_svdSym,
00022     PL2_svdmemSym,
00023     PL2_methodSym,
00024     PL2_jobuSym, 
00025     PL2_jobvSym, 
00026     PL2_uSym,
00027     PL2_vSym,
00028     PL2_sSym,
00029     PL2_pSym,
00030     PL2_teststatSym,
00031     PL2_pvalueSym,
00032     PL2_tolSym,
00033     PL2_maxptsSym,
00034     PL2_absepsSym,
00035     PL2_relepsSym,
00036     PL2_minprobSym,
00037     PL2_minsplitSym,
00038     PL2_minbucketSym,
00039     PL2_variablesSym, 
00040     PL2_transformationsSym, 
00041     PL2_is_nominalSym, 
00042     PL2_is_ordinalSym, 
00043     PL2_is_censoredSym, 
00044     PL2_orderingSym, 
00045     PL2_levelsSym, 
00046     PL2_scoresSym, 
00047     PL2_has_missingsSym, 
00048     PL2_whichNASym, 
00049     PL2_test_trafoSym, 
00050     PL2_predict_trafoSym, 
00051     PL2_nobsSym, 
00052     PL2_ninputsSym,
00053     PL2_linexpcov2sampleSym, 
00054     PL2_weightsSym, 
00055     PL2_varmemorySym,
00056     PL2_splitstatisticsSym,
00057     PL2_savesplitstatsSym,
00058     PL2_responsesSym, 
00059     PL2_inputsSym,
00060     PL2_testtypeSym, 
00061     PL2_nresampleSym,
00062     PL2_varctrlSym, 
00063     PL2_splitctrlSym, 
00064     PL2_gtctrlSym,
00065     PL2_mincriterionSym,
00066     PL2_maxsurrogateSym,
00067     PL2_randomsplitsSym,
00068     PL2_mtrySym,
00069     PL2_dontuseSym,
00070     PL2_dontusetmpSym,
00071     PL2_stumpSym,
00072     PL2_maxdepthSym,
00073     PL2_tgctrlSym,
00074     PL2_ntreeSym,
00075     PL2_replaceSym,
00076     PL2_fractionSym;
00077 
00078 SEXP party_init(void) {
00079     PL2_expectationSym = install("expectation");
00080     PL2_covarianceSym = install("covariance");
00081     PL2_linearstatisticSym = install("linearstatistic");
00082     PL2_expcovinfSym = install("expcovinf");
00083     PL2_expcovinfssSym = install("expcovinfss");
00084     PL2_sumweightsSym = install("sumweights");
00085     PL2_dimensionSym = install("dimension");
00086     PL2_MPinvSym = install("MPinv");
00087     PL2_rankSym = install("rank");
00088     PL2_svdSym = install("svd");
00089     PL2_svdmemSym = install("svdmem");
00090     PL2_methodSym = install("method");
00091     PL2_jobuSym = install("jobu");
00092     PL2_jobvSym = install("jobv");
00093     PL2_uSym = install("u");
00094     PL2_vSym = install("v");
00095     PL2_sSym = install("s");
00096     PL2_pSym = install("p"); 
00097     PL2_teststatSym = install("teststat");
00098     PL2_pvalueSym = install("pvalue");
00099     PL2_tolSym = install("tol");
00100     PL2_maxptsSym = install("maxpts");
00101     PL2_absepsSym = install("abseps");
00102     PL2_relepsSym = install("releps");
00103     PL2_minsplitSym = install("minsplit");
00104     PL2_minprobSym = install("minprob");
00105     PL2_minbucketSym = install("minbucket");
00106     PL2_variablesSym = install("variables"); 
00107     PL2_transformationsSym = install("transformations"); 
00108     PL2_is_nominalSym = install("is_nominal"); 
00109     PL2_is_ordinalSym = install("is_ordinal"); 
00110     PL2_is_censoredSym = install("is_censored"); 
00111     PL2_orderingSym = install("ordering"); 
00112     PL2_levelsSym = install("levels"); 
00113     PL2_scoresSym = install("scores"); 
00114     PL2_has_missingsSym = install("has_missings"); 
00115     PL2_whichNASym = install("whichNA"); 
00116     PL2_test_trafoSym = install("test_trafo"); 
00117     PL2_predict_trafoSym = install("predict_trafo"); 
00118     PL2_nobsSym = install("nobs"); 
00119     PL2_ninputsSym = install("ninputs"); 
00120     PL2_linexpcov2sampleSym = install("linexpcov2sample"); 
00121     PL2_weightsSym = install("weights"); 
00122     PL2_varmemorySym = install("varmemory"); 
00123     PL2_splitstatisticsSym = install("splitstatistics");
00124     PL2_savesplitstatsSym = install("savesplitstats");
00125     PL2_responsesSym = install("responses"); 
00126     PL2_inputsSym = install("inputs"); 
00127     PL2_testtypeSym = install("testtype"); 
00128     PL2_nresampleSym = install("nresample"); 
00129     PL2_varctrlSym = install("varctrl"); 
00130     PL2_splitctrlSym = install("splitctrl"); 
00131     PL2_gtctrlSym = install("gtctrl"); 
00132     PL2_mincriterionSym = install("mincriterion"); 
00133     PL2_maxsurrogateSym = install("maxsurrogate"); 
00134     PL2_randomsplitsSym = install("randomsplits"); 
00135     PL2_mtrySym = install("mtry"); 
00136     PL2_dontuseSym = install("dontuse"); 
00137     PL2_dontusetmpSym = install("dontusetmp"); 
00138     PL2_stumpSym = install("stump"); 
00139     PL2_maxdepthSym = install("maxdepth"); 
00140     PL2_tgctrlSym = install("tgctrl"); 
00141     PL2_ntreeSym = install("ntree"),
00142     PL2_replaceSym = install("replace"),
00143     PL2_fractionSym = install("fraction");
00144     return(R_NilValue);
00145 }
00146 
00147 /* accessor functions */
00148 
00149 int get_dimension(SEXP object) {
00150     return(INTEGER(GET_SLOT(object, PL2_dimensionSym))[0]);
00151 }
00152 
00153 int get_teststat(SEXP object) {
00154     return(INTEGER(GET_SLOT(object, PL2_teststatSym))[0]);
00155 }
00156 
00157 int get_pvalue(SEXP object) {
00158     return(INTEGER(GET_SLOT(object, PL2_pvalueSym))[0]);
00159 }
00160 
00161 double get_tol(SEXP object) {
00162     return(REAL(GET_SLOT(object, PL2_tolSym))[0]);
00163 }
00164 
00165 int get_maxpts(SEXP object) {
00166     return(INTEGER(GET_SLOT(object, PL2_maxptsSym))[0]);
00167 }
00168 
00169 double get_abseps(SEXP object) {
00170     return(REAL(GET_SLOT(object, PL2_absepsSym))[0]);
00171 }
00172 
00173 double get_releps(SEXP object) {
00174     return(REAL(GET_SLOT(object, PL2_relepsSym))[0]);
00175 }
00176 
00177 double get_minsplit(SEXP object) {
00178     return(REAL(GET_SLOT(object, PL2_minsplitSym))[0]);
00179 }
00180 
00181 double get_minprob(SEXP object) {
00182     return(REAL(GET_SLOT(object, PL2_minprobSym))[0]);
00183 }
00184 
00185 double get_minbucket(SEXP object) {
00186     return(REAL(GET_SLOT(object, PL2_minbucketSym))[0]);
00187 }
00188 
00189 SEXP get_transformation(SEXP object, int variable) {
00190     return(VECTOR_ELT(
00191                GET_SLOT(object, PL2_transformationsSym), 
00192                variable - 1));
00193 }
00194 
00195 SEXP get_test_trafo(SEXP object) {
00196     return(GET_SLOT(object, PL2_test_trafoSym));
00197 }
00198 
00199 SEXP get_predict_trafo(SEXP object) {
00200     return(GET_SLOT(object, PL2_predict_trafoSym));
00201 }
00202 
00203 
00204 SEXP get_variable(SEXP object, int variable) {
00205     return(VECTOR_ELT(
00206                GET_SLOT(object, PL2_variablesSym), 
00207                variable - 1));
00208 }
00209 
00210 int is_nominal(SEXP object, int variable) {
00211     return(INTEGER(GET_SLOT(object, PL2_is_nominalSym))[variable - 1]);
00212 }
00213 
00214 int is_ordinal(SEXP object, int variable) {
00215     return(INTEGER(GET_SLOT(object, PL2_is_ordinalSym))[variable - 1]);
00216 }
00217 
00218 int is_censored(SEXP object, int variable) {
00219     return(INTEGER(GET_SLOT(object, PL2_is_censoredSym))[variable - 1]);
00220 }
00221 
00222 int has_missings(SEXP object, int variable) {
00223     return(INTEGER(GET_SLOT(object, PL2_has_missingsSym))[variable - 1]);
00224 }
00225 
00226 SEXP get_ordering(SEXP object, int variable) {
00227     if (!is_nominal(object, variable)) {
00228         return(VECTOR_ELT(
00229                GET_SLOT(object, PL2_orderingSym), 
00230                variable - 1));
00231     } else {
00232         error("Variable %d is not ordered", variable);
00233         return(R_NilValue);
00234     }
00235 }
00236 
00237 SEXP get_levels(SEXP object, int variable) {
00238     if (is_nominal(object, variable) || 
00239         is_ordinal(object, variable)) {
00240         return(VECTOR_ELT(
00241                GET_SLOT(object, PL2_levelsSym), 
00242                variable - 1));
00243     } else {
00244         error("Variable %d is not an (ordered) factor", variable);
00245         return(R_NilValue);
00246     }
00247 }
00248 
00249 SEXP get_scores(SEXP object, int variable) {
00250     if (is_ordinal(object, variable)) {
00251         return(VECTOR_ELT(
00252                GET_SLOT(object, PL2_scoresSym), 
00253                variable - 1));
00254     } else {
00255         error("Variable %d is not an ordered factor", variable);
00256         return(R_NilValue);
00257     }
00258 }
00259 
00260 SEXP get_missings(SEXP object, int variable) {
00261     if (has_missings(object, variable)) {
00262         return(VECTOR_ELT(
00263                GET_SLOT(object, PL2_whichNASym), 
00264                variable - 1));
00265     } else {
00266         error("Variable %d has no missing values", variable);
00267         return(R_NilValue);
00268     }
00269 }
00270 
00271 SEXP get_varmemory(SEXP object, int variable) {
00272     return(VECTOR_ELT(GET_SLOT(object, PL2_varmemorySym), 
00273                       variable - 1));
00274 }
00275 
00276 int get_savesplitstats(SEXP object) {
00277     return(INTEGER(GET_SLOT(object, PL2_savesplitstatsSym))[0]);
00278 }
00279 
00280 SEXP get_splitstatistics(SEXP object) {
00281     return(GET_SLOT(object, PL2_splitstatisticsSym));
00282 }
00283 
00284 int get_nobs(SEXP object) {
00285     return(INTEGER(GET_SLOT(object, PL2_nobsSym))[0]);
00286 }
00287 
00288 int get_ninputs(SEXP object) {
00289     return(INTEGER(GET_SLOT(object, PL2_ninputsSym))[0]);
00290 }
00291 
00292 SEXP get_weights(SEXP object, int variable) {
00293     return(VECTOR_ELT(GET_SLOT(object, PL2_weightsSym), variable - 1));
00294 }
00295 
00296 int get_testtype(SEXP object) {
00297     return(INTEGER(GET_SLOT(object, PL2_testtypeSym))[0]);
00298 }
00299 
00300 int get_nresample(SEXP object) {
00301     return(INTEGER(GET_SLOT(object, PL2_nresampleSym))[0]);
00302 }
00303 
00304 SEXP get_varctrl(SEXP object) {
00305     return(GET_SLOT(object, PL2_varctrlSym));
00306 }
00307 
00308 SEXP get_splitctrl(SEXP object) {
00309     return(GET_SLOT(object, PL2_splitctrlSym));
00310 }
00311 
00312 SEXP get_gtctrl(SEXP object) {
00313     return(GET_SLOT(object, PL2_gtctrlSym));
00314 }
00315 
00316 SEXP get_tgctrl(SEXP object) {
00317     return(GET_SLOT(object, PL2_tgctrlSym));
00318 }
00319 
00320 double get_mincriterion(SEXP object) {
00321     return(REAL(GET_SLOT(object, PL2_mincriterionSym))[0]);
00322 }
00323 
00324 int get_maxsurrogate(SEXP object) {
00325     return(INTEGER(GET_SLOT(object, PL2_maxsurrogateSym))[0]);
00326 }
00327 
00328 int get_randomsplits(SEXP object) {
00329     return(INTEGER(GET_SLOT(object, PL2_randomsplitsSym))[0]);
00330 }
00331 
00332 int get_mtry(SEXP object) {
00333     return(INTEGER(GET_SLOT(object, PL2_mtrySym))[0]);
00334 }
00335 
00336 SEXP get_dontuse(SEXP object) {
00337     return(GET_SLOT(object, PL2_dontuseSym));
00338 }
00339 
00340 SEXP get_dontusetmp(SEXP object) {
00341     return(GET_SLOT(object, PL2_dontusetmpSym));
00342 }
00343 
00344 int get_stump(SEXP object) {
00345     return(INTEGER(GET_SLOT(object, PL2_stumpSym))[0]);
00346 }
00347 
00348 int check_depth(SEXP object, int depth) {
00349     int maxdepth;
00350     maxdepth = INTEGER(GET_SLOT(object, PL2_maxdepthSym))[0];
00351     if (maxdepth == 0) return(1);
00352     if (maxdepth < 1) error("maxdepth is less than one");
00353     return(depth <= maxdepth);
00354 }
00355 
00356 int get_ntree(SEXP object) {
00357     return(INTEGER(GET_SLOT(object, PL2_ntreeSym))[0]);
00358 }
00359 
00360 int get_replace(SEXP object) {
00361     return(INTEGER(GET_SLOT(object, PL2_replaceSym))[0]);
00362 }
00363 
00364 double get_fraction(SEXP object) {
00365     return(REAL(GET_SLOT(object, PL2_fractionSym))[0]);
00366 }

Generated on Wed Jun 20 15:55:32 2007 for party by  doxygen 1.4.6