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