#r #arrays #matlab
#r #массивы #matlab
Вопрос:
Каков наиболее простой способ воспроизвести следующее поведение MATLAB в R?
reshape(1:6, [3, 1, 2]) - reshape(6:-1:1, [1, 3, 2]) ans(:,:,1) = -5 -4 -3 -4 -3 -2 -3 -2 -1 ans(:,:,2) = 1 2 3 2 3 4 3 4 5
Очевидно, несовместимые в R:
array(1:6, dim = c(3, 1, 2)) - array(6:1, dim = c(1, 3, 2)) Error in array(1:6, dim = c(3, 1, 2)) - array(6:1, dim = c(1, 3, 2)) : non-conformable arrays
Комментарии:
1. Я не знаю R, но в случае, если это помогает в поиске, такое поведение обычно называется «широковещательным» (хотя в Matlab оно имеет другое название).
2. @LuisMendo, спасибо тебе. Ваша подсказка привела меня к
rray
посылке.rray(1:6, c(3, 1, 2)) - rray(6:1, c(1, 3, 2))
работает по желанию.3. Отлично! Это может быть хорошим вопросом для пользователей R, не очень хорошо разбирающихся в языке или пакете; если у вас есть время, возможно, добавьте расширенную версию своего комментария в качестве ответа