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