在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
感谢您的帮助!
最佳答案
如果 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 是二维以上的矩阵或数组,并且您想添加 axis 作为第二维:
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
关于python - 在 R 中增加向量或矩阵的一维,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50122154/