【发布时间】:2020-04-28 13:47:05
【问题描述】:
我在 Python 中有以下代码:
n = 3
m = 2
y = np.random.normal(loc = 0, scale = 1, size = (n, m))
y_diff = np.expand_dims(y, 1) - np.expand_dims(y, 0)
我想翻译成 R。据我了解,它创建了一个 $ n x n x m $ 数组,其中 $y_i - y_j$ 作为值。
我找到了一种将 expand_dims 从 python 转换为 R 的方法(请参阅:Translating Python np.expand_dims to R)。
现在在 R 中有以下代码:
m = 2
n = 3
x = array(rnorm(m*n),c(m,n))
以下两行似乎都有效:
expand_dims(x,1)
expand_dims(x,2)
但不是:
expand_dims(x,2) - expand_dims(x,1)
返回:
Error in expand_dims(x, 2) - expand_dims(x, 1) : non-conformable arrays
我的直觉是 Python 和 R 处理其数组的基本操作的方式有所不同。
关于如何使其在 R 中工作的任何想法?
【问题讨论】: