0
我有一个矢量v
和一个矩阵m
。我想在R中得到以下结果。我该怎么做?最佳和最快的方法将矢量多重耦合到矩阵R
v = c(1, 2)
m = matrix(c(1, 0, 1, 1, 0, 2.5, 3.5, 4.3, 2, 5.5), nrow = 5)
result = matrix(c(1, 0, 1, 1, 0, 5, 7, 8.6, 4, 11), nrow = 5)
> result
[,1] [,2]
[1,] 1 5.0
[2,] 0 7.0
[3,] 1 8.6
[4,] 1 4.0
[5,] 0 11.0
有人可能会将Rcpp替代方案添加到该答案中的基准列表中。它应该赢了,我猜...像'Rcpp ::: cppFunction( “arma :: mat sweep_mcolvec(arma :: mat A,arma :: colvec x) A.each_col()* = x ; return A; }“,depends =”RcppArmadillo“ )'。我的笔记本电脑最近没有很好地进行基准测试,所以它不会是我。 – Frank
嗨@Frank,我试过你的Rcpp代码,并得到了'错误:'arma :: Mat :: each_col()[with eT = double]()* = x'我不知道'operator * ='不是Rcpp大师,所以就我所知。 –
Aaron