[R] Deleting rows and store the deleted rows in new data frame

Bansal, Vikas vikas.bansal at kcl.ac.uk
Mon Jul 25 04:01:59 CEST 2011


Dear Jeff,

Thanks a lot for your reply.
I was just curious about this thing about grep that it can perform this kind of thing or not. Otherwise with numerical comparison I know it is very easy to do.Like-

df <- df[df$V5 >= 10, ]

Thanks a lot for your help.

Thanking you,
Warm Regards
Vikas Bansal
Msc Bioinformatics
Kings College London
________________________________________
From: Jeff Newmiller [jdnewmil at dcn.davis.ca.us]
Sent: Monday, July 25, 2011 1:02 AM
To: Bansal, Vikas; Phil Spector
Cc: r-help at r-project.org
Subject: Re: [R] Deleting rows and store the deleted rows in new data frame

You can, but you would have to convert them to character first. It would be more sensible to use vector numeric comparisons. I strongly recommend that you go read "An Introduction to R", since you are asking questions that are explained there.
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnewmil at dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
---------------------------------------------------------------------------
Sent from my phone. Please excuse my brevity.

"Bansal, Vikas" <vikas.bansal at kcl.ac.uk> wrote:

Thanks for your reply.
Can I use grep with numbers also?



5961     T 17  0  9
5962     T 17  0  9
5963     A 17  0  9
5964     G 13  0  10
5965     G 13  0  9
5966     G 13  0 13
5967     T 13  0  8
5968     T 13  0  5
5969     A 13  0 13
5970     G 13  0 13
5971     G 13  0  4
5972     G 13  0 13
5973     T 13  0 13

like in 5th column.If I want only rows whose value is more than 10 in 5th column?

Thanking you,
Warm Regards
Vikas Bansal
Msc Bioinformatics
Kings College London
________________________________

From: Phil Spector [spector at stat.berkeley.edu]
Sent: Monday, July 25, 2011 12:29 AM
To: Bansal, Vikas
Cc: r-help at r-project.org
Subject: Re: [R] Deleting rows and store the deleted rows in new data frame

There's no need to use sapply or loops with gre
 p --
it's
already vectorized.  So you can find the rows you're
interested in with

> wh = grep('^[.,]+$',df[,9])

store them with

> sf = df[wh,]

and delete them with

> df = df[-wh,]
                                        - Phil Spector
                                         Statistical Computing Facility
                                         Department of Statistics
                                         UC Berkeley
                                         spector at stat.berkeley.edu


On Sun, 24 Jul 2011, Bansal, Vikas wrote:

> Dear all,
>
> I am using grep but I did not understand the problem as I am doing something wrong.Please help me.
> I am using this code-
>
> sf=data.frame(sapply(df[],function(x) grep('\\.&\\,', df[,9])))
>
> the thing is i have a data frame(df) like this-
>>
> 10    135349467       g       G       4       0       0       5       ,,,.,
> 10    135349468       t       T       2       0       0       5       ,,c.,
> 10    135349469       g       G       7       0       0       5       ,,a.,
> 10    135349470       c       C       8       0       0       5       ,,,.,
> 10    135349471       a       A       10      0       0       5       ,,,.,
> 10    135349472       g       G       7       0       0       6       aa,.,,
> 10    135349473       g       G       7       0       0       6       ,,c.,,
> 10    135349474       g       G       4       0       0       6       ,,,.,,
> 10    135349475       a       A       8       0       0       6       ,,,.,,
> 10    135349476       t       T       1       0       0       6       g,,.,,
> 10    135349477       a       A       7       0       0       6       ,,,.,,
> 10    135349478
  a
 A       11      0       0       6       ,,,.,,
>
> I want to delete those rows which contains only . and , in column 9.
> and i want to store those rows in new data frame sf.
>
> so my output should be-
>
> df
>
>
> 10    135349468       t       T       2       0       0       5       ,,c.,
> 10    135349469       g       G       7       0       0       5       ,,a.,
> 10    135349472       g       G       7       0       0       6       aa,.,,
> 10    135349473       g       G       7       0       0       6       ,,c.,,
> 10    135349476       t       T       1       0       0       6       g,,.,,
>
>
> sf
>
> 10    135349467       g       G       4       0       0       5       ,,,.,
> 10    135349470       c       C       8       0       0       5       ,,,.,
> 10    135349471       a       A       10
  0
 0       5       ,,,.,
> 10    135349474       g       G       4       0       0       6       ,,,.,,
> 10    135349475       a       A       8       0       0       6       ,,,.,,
> 10    135349477       a       A       7       0       0       6       ,,,.,,
> 10    135349478       a       A       11      0       0       6       ,,,.,,
>
>
>
> Thanking you,
> Warm Regards
> Vikas Bansal
> Msc Bioinformatics
> Kings College London
>
________________________________

> R-help at r-project.org mailing list
> 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.
>

________________________________

R-help at r-project.org mailing l
 ist
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.



More information about the R-help mailing list