remove rows of a matrix by part of its row name
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 <ruipbarradas at 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 at 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 at 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.