R语言 为什么在转换为稀疏矩阵时ID号会改变?

irtuqstp  于 2023-02-06  发布在  其他
关注(0)|答案(1)|浏览(120)
head(a)

输出为

1235 3216 3459 3669 7759 5438 
TRUE FALSE TRUE TRUE FALSE FALSE

但当我跑的时候

Matrix(head(a), sparse = TRUE)

我得到...

[1,] |
[2,] .
[3,] |
[4,] |
[5,] .
[6,] .

为什么数字在变化????为什么我的输出不是这样的?

1235 |
3216 .
3459 |
3669 |
7759 .
5438 .
kkbh8khc

kkbh8khc1#

我认为您需要手动指定dimname:

x <- c('1235'=TRUE,'3216'=FALSE,'3459'=TRUE,'3669'=TRUE,'7759'=FALSE,'5438'=FALSE)
Matrix(x, sparse=TRUE, dimnames=list(names(x)))
#6 x 1 sparse Matrix of class "lgCMatrix"
#      
#1235 |
#3216 .
#3459 |
#3669 |
#7759 .
#5438 .

相关问题