Я строю пакет R с Rcpp
, Я включил roxygen2
комментарии стиля в исходном файле cpp, но эти комментарии не отражаются в R/RcppExports.R
а также src/RcppExports.cpp
после сборки пакета и devtools::document()
,
#include <RcppArmadillo.h>
#include <Rcpp.h>
using namespace Rcpp;
//' @title Linearc
//' @description Computes the linear regression coefficient estimates
(ridge-penalization and weights, optional)
//' @param X matrix
//' @param y matrix
//' @param lam optional tuning parameter for ridge regularization term.
Defaults to 'lam = 0'
//' @param weights optional vector of weights for weighted least squares
//' @param intercept add column of ones if not already present. Defaults to
TRUE
//' @param kernel use linear kernel to compute ridge regression
coefficeients. Defaults to true when p >> n
//' @return returns the coefficient estimates
//' @export
// [[Rcpp::depends(RcppArmadillo)]]
// [[Rcpp::export]]
List linearrc(const arma::mat& X, const arma::colvec& y, double lam = 0,
arma::colvec weights = 0, bool intercept = true, bool kernel = false) {
...
R/RcppExports.R
:# Generated by using Rcpp::compileAttributes() -> do not edit by hand
# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
linearrc <- function(X, y, lam = 0, weights = 0L, intercept = TRUE, kernel =
FALSE) {
.Call('statr_linearrc', PACKAGE = 'statr', X, y, lam, weights, intercept,
kernel)
}
src/RcppExports.cpp
:// Generated by using Rcpp::compileAttributes() -> do not edit by hand
// Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
#include <RcppArmadillo.h>
#include <Rcpp.h>
using namespace Rcpp;
// linearrc
List linearrc(const arma::mat& X, const arma::colvec& y, double lam,
arma::colvec weights, bool intercept, bool kernel);
RcppExport SEXP statr_linearrc(SEXP XSEXP, SEXP ySEXP, SEXP lamSEXP, SEXP
weightsSEXP, SEXP interceptSEXP, SEXP kernelSEXP) {
BEGIN_RCPP
Rcpp::RObject rcpp_result_gen;
Rcpp::RNGScope rcpp_rngScope_gen;
Rcpp::traits::input_parameter< const arma::mat& >::type X(XSEXP);
Rcpp::traits::input_parameter< const arma::colvec& >::type y(ySEXP);
Rcpp::traits::input_parameter< double >::type lam(lamSEXP);
Rcpp::traits::input_parameter< arma::colvec >::type weights(weightsSEXP);
Rcpp::traits::input_parameter< bool >::type intercept(interceptSEXP);
Rcpp::traits::input_parameter< bool >::type kernel(kernelSEXP);
rcpp_result_gen = Rcpp::wrap(linearrc(X, y, lam, weights, intercept,
kernel));
return rcpp_result_gen;
END_RCPP
}
Я включил #' @useDynLib <pkg-name>
а также #' @importFrom Rcpp sourceCpp
в случайном файле .R в пакете. Я использую последнюю версию Rstudio и Roxygen2.
Так же linearrc
функция не появляется в NAMESPACE в виде export(linearrc)
или…
Спасибо!
Задача ещё не решена.
Других решений пока нет …