Python 增加R中向量或矩阵的一个维度
在Python中,我们有一个名为Python 增加R中向量或矩阵的一个维度,python,r,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]转
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向量已经是R中的列向量。。那么,增加维度是什么意思?例如,如果你有一个2*3的矩阵,那么python会产生什么结果呢?你可以看看abind
packageIfdim(m)
给出了[1]43
,然后dim(m)通常,dim(m)=c(dim(m),1)
会给m添加一个维度(至少需要从2开始,向量只有长度,而不是维数)。但是如果你希望新的维度在中间某个地方,你必须指定或定义它在哪里的一些逻辑。然后<代码> A=函数(x){if(是!.x(数组)(x))返回(如矩阵(x));
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