假设我有一个名为mymat
的矩阵。我需要排除列key
和AMLM12014N-R
,并创建另一个名为newmat
的矩阵。我可以这样做:newmat <- mymat[,-c(1,4)]
,但有没有办法通过调用列名本身来做到这一点?这样的事情:newmat <- mymat[,-c("key","AMLM12014N-R")]
?
mymat <- structure(c("chr5:12111", "chr5:12111", "chr5:12113", "chr5:12114",
"chr5:12118", "0N", "0N", "1N", "0N", "0N", "00", "00", "00",
"11", "10", "00", "00", "1N", "0N", "00"), .Dim = c(5L, 4L), .Dimnames = list(
c("34", "35", "36", "37", "38"), c("key", "AMLM12001KP",
"AMAS-11.3-Diagnostic", "AMLM12014N-R")))
答案 0 :(得分:2)
我们可以使用setdiff
mymat[,setdiff(colnames(mymat), c("key","AMLM12014N-R"))]
或%in%
mymat[,!colnames(mymat) %in% c("key","AMLM12014N-R")]