https://github.com/GWmodel-Lab/GWmodel3
Tip revision: 66b5a8472a72f9876b8feacd5933cbf4d707e1cc authored by HPDell on 03 July 2023, 10:00:43 UTC
edit: typo in README [skip ci]
edit: typo in README [skip ci]
Tip revision: 66b5a84
utils.cpp
#include "utils.h"
using namespace Rcpp;
using namespace arma;
using namespace gwm;
List mywrap(const RegressionDiagnostic& diagnostic)
{
return List::create(
Named("RSS") = diagnostic.RSS,
Named("AIC") = diagnostic.AIC,
Named("AICc") = diagnostic.AICc,
Named("ENP") = diagnostic.ENP,
Named("EDF") = diagnostic.EDF,
Named("RSquare") = diagnostic.RSquare,
Named("RSquareAdjust") = diagnostic.RSquareAdjust
);
}
List mywrap(const VariablesCriterionList& criterion_list)
{
List model_combinations;
NumericVector model_criterions;
for (auto &&item : criterion_list)
{
model_combinations.push_back(wrap(item.first));
model_criterions.push_back(item.second);
}
return List::create(
Named("models") = model_combinations,
Named("criterions") = model_criterions
);
}
void r_printer(std::string message, Logger::LogLevel level, std::string fun_name, std::string file_name)
{
switch (level)
{
case Logger::LogLevel::LOG_EMERG:
case Logger::LogLevel::LOG_ALERT:
case Logger::LogLevel::LOG_CRIT:
case Logger::LogLevel::LOG_ERR:
Rcpp::Rcerr << "ERROR: " << message << " [" << fun_name << "]" << " (in " << file_name << ")\n";
break;
case Logger::LogLevel::LOG_WARNING:
case Logger::LogLevel::LOG_NOTICE:
case Logger::LogLevel::LOG_INFO:
case Logger::LogLevel::LOG_DEBUG:
default:
Rcpp::Rcout << "MSG: " << message << " [" << fun_name << "]" << " (in " << file_name << ")\n";
break;
}
}
