Правильный способ выполнения умножения матриц - PullRequest
2 голосов
/ 02 мая 2019

У меня есть простая матрица, и я хотел бы умножить D на E, но я получаю ошибку:

D <- data.frame(X = c(1,1,-1,1), Y = c(1,-1,1,1), Z = c(1,1,1,-1))
E <- data.frame(X = c(-1,0,1), Y = c(-1,1,0), Z = c(1,1,1))
P <- D %*% E

Ошибка в D% *% E: требуется числовая / сложная матрица /векторные аргументы

Как мне преодолеть ошибку?Это просто умножение матриц 3х4 и 3х3.Спасибо за вашу поддержку!

1 Ответ

1 голос
/ 02 мая 2019

Вы должны преобразовать кадры данных в матрицы:

D <- as.matrix(data.frame(X = c(1,1,-1,1), Y = c(1,-1,1,1), Z = c(1,1,1,-1)))
E <- as.matrix(data.frame(X = c(-1,0,1), Y = c(-1,1,0), Z = c(1,1,1)))
P <- D %*% E
...