nrow(矩阵)函数
我有一个使用R的作业,有一个小问题。在分配中,必须生成具有随机行数的多个矩阵,然后用于各种计算。除非行数为1,否则所有操作都是完美的nrow(矩阵)函数,r,statistics,R,Statistics,我有一个使用R的作业,有一个小问题。在分配中,必须生成具有随机行数的多个矩阵,然后用于各种计算。除非行数为1,否则所有操作都是完美的 在计算中,我以不同的方式使用nrow(矩阵),例如if(I让我们称你的向量为x。尝试使用matrix(x)或t(matrix(x))将其转换为适当的(2D)矩阵。并非R中的单行/列矩阵将ncol/nrow设置为NULL——在R中,一切都是1D向量,其行为类似于矩阵(即显示为矩阵、接受矩阵索引等)当它具有dim属性集时。似乎不是这样,因为简单地将矩阵索引到单个行或列
在计算中,我以不同的方式使用nrow(矩阵),例如
if(I让我们称你的向量为x
。尝试使用matrix(x)
或t(matrix(x))
将其转换为适当的(2D)矩阵。并非R中的单行/列矩阵将ncol
/nrow
设置为NULL
——在R中,一切都是1D向量,其行为类似于矩阵(即显示为矩阵、接受矩阵索引等)当它具有dim
属性集时。似乎不是这样,因为简单地将矩阵索引到单个行或列会降低dim
,并使数据保持其默认(1D向量)状态
因此,您可以通过直接重新创建向量的dim
属性(例如称为x)来实现目标:
dim(x)<-c(length(x),1)
x #Now a single column matrix
dim(x)<-c(1,length(x))
x #Now a single row matrix
x<-matrix(1:12,3,4)
x #OK, matrix
x[,3] #Boo, vector
x[,3,drop=FALSE] #Matrixicity saved!