Ошибка в .Call (tXPM Cpp, x): первый аргумент должен быть строкой (длиной 1) или ссылкой на собственный символ - PullRequest
0 голосов
/ 02 августа 2020

Я следую R-коду

tXPM <- function(x) {
.Call(tXPMCpp, x)

} и следую R CPP коду

SEXP tXPMCpp (SEXP xSEXP){
arma::mat GeneExp = Rcpp::as<arma::mat>(xSEXP);
arma::rowvec ColumnSums = sum(GeneExp, 0);
int_fast32_t i=0, n=0;
arma::mat::iterator it_end = GeneExp.end();
//One pass linear regression with one pass variance, skewness
for (arma::mat::iterator it = GeneExp.begin(); it != it_end; ++it) {
    //std::cout << (*it) << std::endl;
    *it = *it/ColumnSums.at(i);
    n++;
    if (n == int(GeneExp.n_rows)) {
        n=0;
        i++;
    }
}
return Rcpp::wrap(trans(GeneExp));}

Когда я вызываю эту функцию, передавая ей матрицу данных, она показывает следующую ошибку:

  1. Ошибка в .Call (tXPM Cpp, x): первый аргумент должен быть строкой (длиной 1) или ссылкой на собственный символ

Как я могу это вызвать функция?

...