# [R] remove rows of a matrix by part of its row name

Ahmed Serag Ahmed@er@g777 @end|ng |rom hotm@||@com
Tue May 22 14:22:53 CEST 2018

```Thanks a lot. The code works great.

Regards

Ahmed

**********************

Ahmed Serag

Analytical Chemistry Department

Faculty of Pharmacy

Al-Azhar University

Cairo

Egypt

________________________________
Sent: Tuesday, May 22, 2018 2:16 PM
To: Ahmed Serag; R-help using r-project.org
Subject: Re: [R] remove rows of a matrix by part of its row name

Hello,

As for the question, yes, it does. If you want to remove just the ones
with exactly 73.1 use the pattern

grep("^73\\.1\$", etc)

Explanation:

Beginning of string: ^
End of string: \$
Escape special characters: \\ (needed because the period is a special
character.)

Hope this helps,

On 5/22/2018 12:50 PM, Ahmed Serag wrote:
> Thank you Mr. Barradas. The code works great. Unfortunately I have also
> some labeles with
>
>
> 173.1
>
> 273.1
>
>
> the grep script remove them also ?
>
> Any ideas Plz, Thanks again
>
>
> ************************
>
> *Ahmed Serag*
>
> /Analytical Chemistry Department/
>
> /Faculty of Pharmacy/
>
> /Al-Azhar University/
>
> /Cairo/
>
> /Egypt/
>
>
>
> ------------------------------------------------------------------------
> *Sent:* Tuesday, May 22, 2018 1:34 PM
> *To:* Ahmed Serag; r-help using r-project.org
> *Subject:* Re: [R] remove rows of a matrix by part of its row name
> 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,
>
>
> 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 using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help

thz.ch/mailman/listinfo/r-help>
stat.ethz.ch
The main R mailing list, for announcements about the development of R and the availability of new code, questions and answers about problems and solutions using R, enhancements and patches to the source code and documentation of R, comparison and compatibility with S and S-plus, and for the posting of nice examples and benchmarks.

> <https://stat.ethz.ch/mailman/listinfo/r-help>
> stat.ethz.ch
> The main R mailing list, for announcements about the development of R
> and the availability of new code, questions and answers about problems
> and solutions using R, enhancements and patches to the source code and
> documentation of R, comparison and compatibility with S and S-plus, and
> for the posting of nice examples and benchmarks.
>
>
>