I think it is simpler to use !grepl() instead of -grep() here, since subscripting with logicals works properly when there are no matches. Also, since mat is a matrix, add the argument drop=FALSE so the result is a matrix when all but one rows are omitted. E.g.,
> mat <- matrix(1:6, nrow=3, ncol=2, dimnames=list(c("One","Two","Three"),c("A","B"))) > str(mat[ -grep("T", rownames(mat)), ]) # bad, not a matrix if only one row wanted Named int [1:2] 1 4 - attr(*, "names")= chr [1:2] "A" "B" > str(mat[ -grep("X", rownames(mat)), ]) # bad, zero-row matrix if no unwanted rows int[0 , 1:2] - attr(*, "dimnames")=List of 2 ..$ : NULL ..$ : chr [1:2] "A" "B" > str(mat[ !grepl("T", rownames(mat)), , drop=FALSE]) # good, one row matrix if only one row wanted int [1, 1:2] 1 4 - attr(*, "dimnames")=List of 2 ..$ : chr "One" ..$ : chr [1:2] "A" "B" > str(mat[ !grepl("X", rownames(mat)), , drop=FALSE]) # good, entire matrix is no unwanted rows int [1:3, 1:2] 1 2 3 4 5 6 - attr(*, "dimnames")=List of 2 ..$ : chr [1:3] "One" "Two" "Three" ..$ : chr [1:2] "A" "B" Bill Dunlap TIBCO Software wdunlap tibco.com On Tue, May 22, 2018 at 4:34 AM, Rui Barradas <ruipbarra...@sapo.pt> wrote: > Hello, > > Use grep to get the row indices and then subset with a *negative* index to > remove those rows. > > rn <- scan(what = character(), text = " > 70/556 > 71.1/280 > 72.1/556 > 72.1/343 > 73.1/390 > 73.1/556 > ") > > mat <- matrix(rnorm(6*6), nrow = 6) > row.names(mat) <- rn > > inx <- grep("73\\.", row.names(mat)) > > new_mat <- mat[-inx, ] > new_mat > > > Hope this helps, > > Rui Barradas > > > On 5/22/2018 11:48 AM, Ahmed Serag wrote: > >> Dear R-experts, >> >> >> How can I remove a certain feature or observation by a part of its name. >> To be clear, I have a matrix with 766 observations as a rows. The row names >> are like this >> >> 70/556 >> 71.1/280 >> 72.1/556 >> 72.1/343 >> 73.1/390 >> 73.1/556 >> Now I would like to remove all the rows that contain the text 73.1 >> >> Any ideas or suggestion please ? >> >> >> Regards >> >> >> >> >> ********************** >> >> Ahmed Serag >> >> Analytical Chemistry Department >> >> Faculty of Pharmacy >> >> Al-Azhar University >> >> Cairo >> >> Egypt >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide http://www.R-project.org/posti >> ng-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> >> > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posti > ng-guide.html > and provide commented, minimal, self-contained, reproducible code. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.