Получить ошибку при использовании Rcpp удалить строки матрицы - PullRequest
0 голосов
/ 14 сентября 2018
#include <RcppArmadillo.h>
// [[Rcpp::depends(RcppArmadillo)]]
using namespace Rcpp;
// [[Rcpp::export]]
arma::mat fed(arma::mat x){
arma::mat zz=x.shed_rows(0,2);
return(zz);
}

Просто хочу удалить несколько строк из матрицы, получить ошибку следующим образом. преобразование из 'void' в нескалярный тип 'arma :: Mat} запрашивается'

1 Ответ

0 голосов
/ 14 сентября 2018

Две точки:

  • Пожалуйста, не публикуйте сообщения об ошибках как изображения.Вместо этого используйте текст.
  • Как показывает ошибка, метод shed_rows() ничего не возвращает.Вместо этого он изменяет матрицу, на которую он действует, см. документация .

Следующие работы:

#include <RcppArmadillo.h>
// [[Rcpp::depends(RcppArmadillo)]]
using namespace Rcpp;
// [[Rcpp::export]]
arma::mat fed(arma::mat x){
    x.shed_rows(0,2);
    return(x);
}

/*** R
fed(matrix(1:16, 4 ,4))
*/
...