来自(哪里
data <- matrix(rnorm(100),10,10)
row.names(data) <- c(1:10)
colnames(data) <- letters[1:10]
corr <- cor(data, method="spearman")
corr.a <- corr[rownames(corr)=="a", ,drop=FALSE]
我创建了一个对象,该对象由矩阵“data”的成对列秩相关的相关矩阵“corr”的行“a”组成 . 我想在“corr.a”中识别所有值> 0.4,但是在这里我没有保留列名,例如:
corr.a.sig <- corr.a[corr.a>0.4,drop=FALSE]
corr.a.sig现在是一个简单的向量,没有其他信息 . 我想要达到的目的是:
-
在行a中标识所有值> 0.4,并创建矩阵/数据帧以保留colname信息
-
创建一个包含值> 0.4的所有列名称的向量
-
在初始矩阵"data"的列名中查找该向量中的名称,并从该矩阵中删除相应的列 .
换句话说,我想在计数矩阵中识别非常相似的列,并从所述矩阵中删除它们 .
谢谢 .
1 回答
您可以使用
drop=T
(这是默认值)对1x10corr.a
矩阵进行列索引,以获得保留名称的向量 . 然后,您可以使用该向量执行data
列的所需删除: