Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:ncol返回空值,即使对象是矩阵_R_Matrix - Fatal编程技术网

R:ncol返回空值,即使对象是矩阵

R:ncol返回空值,即使对象是矩阵,r,matrix,R,Matrix,我有一个矩阵,它只有一列元素不完全为0 我使用以下代码获取矩阵中非零列的数量: ncol(matrix[, colSums(matrix) != 0]) 当矩阵有多个非零列时,此代码返回正确的数字,但当矩阵正好有一个非零列时,此代码返回NULL 我尝试使用此代码,但似乎效果很好: length(which(colSums(matrix) != 0)) 可能是什么问题?您需要设置drop=FALSE,否则[将在只有一列的情况下将其结果减少为向量 ncol(matrix[, colSums(ma

我有一个矩阵,它只有一列元素不完全为0

我使用以下代码获取矩阵中非零列的数量:

ncol(matrix[, colSums(matrix) != 0])
当矩阵有多个非零列时,此代码返回正确的数字,但当矩阵正好有一个非零列时,此代码返回NULL

我尝试使用此代码,但似乎效果很好:

length(which(colSums(matrix) != 0))

可能是什么问题?

您需要设置
drop=FALSE
,否则
[
将在只有一列的情况下将其结果减少为向量

ncol(matrix[, colSums(matrix) != 0, drop = FALSE])
或者只使用
NCOL
,这就说明了这种可能性

NCOL(matrix[, colSums(matrix) != 0])

您需要设置
drop=FALSE
,否则如果只有一列,
[
将其结果减少为向量

ncol(matrix[, colSums(matrix) != 0, drop = FALSE])
或者只使用
NCOL
,这就说明了这种可能性

NCOL(matrix[, colSums(matrix) != 0])

您需要设置
drop=FALSE
,否则如果只有一列,
[
将其结果减少为向量

ncol(matrix[, colSums(matrix) != 0, drop = FALSE])
或者只使用
NCOL
,这就说明了这种可能性

NCOL(matrix[, colSums(matrix) != 0])

您需要设置
drop=FALSE
,否则如果只有一列,
[
将其结果减少为向量

ncol(matrix[, colSums(matrix) != 0, drop = FALSE])
或者只使用
NCOL
,这就说明了这种可能性

NCOL(matrix[, colSums(matrix) != 0])