r - 标记稀疏矩阵 R 的行和列
问题描述
我试图在 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 文本分析包都会自动创建这些矩阵(正确标记),但不幸的是,我以这种“原始”格式继承了数据。谁能指出我有用的命令?
提前致谢!
已编辑:与我的请求相匹配的列数。
解决方案
您可以使用dimnames<-
来设置名称。但请注意,列名和行名中的值数必须与 Matrix 中的列数和行数匹配。在您的示例中,您创建了一个矩阵,nrow=3, ncol=2
但随后您有一个columns
长度为 3 的向量和一个rows
长度为 2 的向量。
这是一个有效的例子
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 .
推荐阅读
- arguments - Discord.js 分解命令处理程序问题的禁令命令
- docker - Nginx proxy_pass 无法加载资产 VueJS
- http - 在 Go 中使用 DialContext 的性能问题
- jquery - 动态jquery改变springboot和thymeleaf
- sails.js - 当设置迁移到安全时,sails.log 不起作用
- azure-devops - 如何使用 yaml 在 azure devops 中回滚到以前的构建
- c++ - 使用继承类指针向量的 C++ 程序编译但不运行
- php - ajax不向脚本发送参数
- c# - 如何从另一个列表中订购具有匹配键的对象列表?
- r - 在 OneDrive/Sharepoint 中具有 list.files 函数的 R 脚本