R самый быстрый способ умножить строки матрицы на строки вектора

Я хочу умножить строки матрицы на КАЖДУЮ строку (элемент) вектора, а не на весь вектор (как уже говорилось в другом вопросе).

например, я хочу использовать эти две матрицы (или oo - это вектор, так как это один столбец)

oo=matrix(1:3,3,1)
oop=matrix(1:9,3,3,byrow=TRUE)

выводить

1  2  3 
8  10 12
21 24 27

Мне нужно сделать это ОЧЕНЬ эффективно, так как мне нужно делать это с огромными объемами данных тысячи раз. я использовал

diag(as.vector(oo))%*%oop

но это слишком медленно.

1 ответ

Решение
R>oop*drop(oo)
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    8   10   12
[3,]   21   24   27
Другие вопросы по тегам