R colname子矩阵

R colname子矩阵,r,submatrix,R,Submatrix,我有一个带有行和列名称的矩阵,并希望将其简化为子矩阵某些行/列名称。指定的名称位于~20值的字符串向量中,而矩阵具有55.000个行名和805个列名。如何在R中有效地执行此操作 IFNGenes = c('TIMM10','UBE2L6','MX1','IF16','IFI44L','IFIT3','ISG15','OAS1','RSAD2','IFI44','OAS3','DOX58','HERC5','BATF2','LIPA','RSAD2.1') subMatrix = theMatr

我有一个带有行和列名称的
矩阵
,并希望将其简化为
子矩阵
某些行/列名称。指定的名称位于
~20
值的字符串向量中,而矩阵具有
55.000个行名
805个列名
。如何在R中有效地执行此操作

IFNGenes = c('TIMM10','UBE2L6','MX1','IF16','IFI44L','IFIT3','ISG15','OAS1','RSAD2','IFI44','OAS3','DOX58','HERC5','BATF2','LIPA','RSAD2.1')

subMatrix = theMatrix[,IFNGenes]
Error in theMatrix[, IFNGenes] : subscript out of bounds

如果我对你的问题理解正确,你正在寻找类似的东西:

x <- matrix(1:100, 10)
rownames(x) <- LETTERS[1:10]
colnames(x) <- letters[1:10]
x[c("C", "F", "A"), c("d", "b", "e")]
如果使用矩阵中不存在的行名索引(与colnames相同),则会出现错误:

> x[c("C", "F", "XX"), c(4, 2, 5)]
Error in x[c("C", "F", "XX"), c(4, 2, 5)] : subscript out of bounds
您可以找到如下标识:

r <- c("C", "F", "XX")
r[which(! r %in% rownames(x))]

一个小的可复制的例子怎么样?我想你可以使用
行/列
索引。可能是某些基因不在colname中吗?是的,我没有意识到可以在R中混合使用整数和列/行名索引。谢谢jogo,我要的是which语句
r <- c("C", "F", "XX")
r[which(! r %in% rownames(x))]
IFNGenes[which(! IFNGenes %in% colnames(theMatrix))]