在Python中,我们有一个名为np.newaxis
的函数,它增加了原始数组的一个维度。我只是想知道在R中是否有任何相同的功能。例如,如果我有一个普通向量,它将返回行向量或列向量。
我正在尝试将Python代码转换为R,这是一个例子:
delta_weights_i_h += hidden_error_term * X[:,None]
delta_weights_h_o += output_error_term * hidden_outputs[:,None]
我真的不知道如何将X[:, None]
转换为R
感谢您的帮助!
答案 0 :(得分:2)
如果X是矢量,那么您可以使用dim()
和length()
函数添加维度
X <- 1:5
X
##[1] 1 2 3 4 5
dim(X) <- c(length(X), 1)
X
## [,1]
##[1,] 1
##[2,] 2
##[3,] 3
##[4,] 4
##[5,] 5
如果X是矩阵或具有2个以上维度的数组,并且您希望将轴添加为第二维:
X <- matrix(1:6, ncol=2)
X
## [,1] [,2]
##[1,] 1 4
##[2,] 2 5
##[3,] 3 6
dim(X) <- c(dim(X)[1], 1, dim(X)[-1])
dim (X)
##[1] 3 1 2
X
#, , 1
#
# [,1]
#[1,] 1
#[2,] 2
#[3,] 3
#
#, , 2
#
# [,1]
#[1,] 4
#[2,] 5
#[3,] 6