我试图在R中“标记” dGC矩阵的行和列。我正在获取输入B(矩阵)和两个列表“列”和“行”。代表性的最小示例是:
library(Matrix)
B = matrix(c(0, 4, 0, 1, 0, 0), nrow=2, ncol=3)
columns =c("c1","c2","c3")
rows = c("row1","row2")
as(B, "dgCMatrix")
我想“标记” dGC矩阵的行和列。特别考虑以下软件包:
install.packages("textir")
library("textir")
data(we8there)
View(we8thereCounts)
我的矩阵应该像在“ textir”包中作为示例数据提供的“ we8thereCounts” dgC矩阵一样(当然,这归功于Matt Taddy的智力)。
似乎大多数R的文本分析程序包都会自动创建这些矩阵(正确标记),但是不幸的是,我以“原始”格式继承了数据。谁能指出我有用的命令?
谢谢!
已编辑:匹配我的请求的列数。
答案 0 :(得分:1)
您可以使用dimnames<-
来设置名称。但是请注意,列名和行名中的值数必须与矩阵中的列数和行数相匹配。在您的示例中,您创建了一个nrow=3, ncol=2
矩阵,但是有一个长度为3的columns
向量和一个长度为2的rows
。
这是一个有效的例子
B = matrix(c(0, 4, 0, 1, 0, 0), nrow=2, ncol=3)
columns =c("c1","c2","c3")
rows = c("row1","row2")
Bs = as(B, "dgCMatrix")
dimnames(Bs) = list(rows,columns)
# 2 x 3 sparse Matrix of class "dgCMatrix"
# c1 c2 c3
# row1 . . .
# row2 4 1 .