2015-12-23 30 views
0

假設我有一個名爲mymat的矩陣。我需要排除keyAMLM12014N-R列,並製作另一個名爲newmat的矩陣。我可以簡單地這樣做:newmat <- mymat[,-c(1,4)],但有沒有辦法通過調用列名本身?像這樣:newmat <- mymat[,-c("key","AMLM12014N-R")]排除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

搜索在谷歌你的帖子的確切標題給你一個數#1的答案。如果您可以考慮標題,則可以在發佈其他問題之前使用該標題進行搜索。你已經在12月份提出了28個問題! – thelatemail

回答

2

我們可以使用setdiff

mymat[,setdiff(colnames(mymat), c("key","AMLM12014N-R"))] 

或者%in%

mymat[,!colnames(mymat) %in% c("key","AMLM12014N-R")]