Я ищу, чтобы умножить две матрицы вместе в R, одна из которых может содержать случайно размещенные значения NA (т. Е. Нет причин, по которым они будут все в строке или столбце), но я все еще хотите выход, как на примере ниже:Матричное умножение с разбросанными значениями NA
Matrix 1
[1,] 33 45 50
[2,] NA NA 54
Matrix 2
[1,] A1 0.0000000 0.0000000
[2,] 0.0000000 A2 0.0000000
[3,] 0.0000000 0.0000000 A3
Result
[1,] 33*A1 45*A2 50*A3
[2,] NA NA (NA*0 +NA*0 +54*A3)=54*A3
Просто делать Matrix1% *% Matrix2 не дает то, что я хочу для элемента в строке 2, столбец 3 (она дает NA, что имеет смысл, но не уверен как делать то, что я хотел бы сделать). Для моих целей Matrix 2 никогда не будет иметь значений NA, если это что-то изменит.
Я ожидал найти 'inner' функцию, чтобы соответствовать' outer' Функции R, что позволяет вам написать свои собственные операции как это. О, хорошо, похоже, этого не существует. Интересно, почему. – Frank