一,加载安装包,然后编写矩阵逻辑。
library('Rcpp')
cppFunction("void frob(NumericMatrix& x,NumericMatrix& y)
{
NumericMatrix::iterator ig = y.begin();
for(NumericMatrix::iterator it = x.begin(); it != x.end(); ++it,++ig)
{
if(*it != 0) *it = *ig * (*it);
}
}")
二,R语言运行测试
> M <- matrix(0, 5, 1)
> N <- matrix(1, 5, 1)
> M[1]=6
> frob(M,N)