使用 Rcpp 删除矩阵行时出错
Posted
技术标签:
【中文标题】使用 Rcpp 删除矩阵行时出错【英文标题】:Get error when use Rcpp remove rows of matrix 【发布时间】:2018-09-14 05:30:35 【问题描述】:#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】:两点:
请不要将错误消息作为图片发布。请改用文本。 如错误所示,shed_rows()
方法不返回任何内容。相反,它改变了它作用的矩阵,c.f. the documentation。
以下作品:
#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))
*/
【讨论】:
以上是关于使用 Rcpp 删除矩阵行时出错的主要内容,如果未能解决你的问题,请参考以下文章
iOS Swift 2 - 删除 tableView 行时出错
使用 RcppArmadillo 在矩阵的列上应用函数有效,但在应用于行时返回错误