在R中增加向量或矩阵的一个维度

时间:2018-05-01 18:50:45

标签: python r

在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

感谢您的帮助!

1 个答案:

答案 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