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

Steven Kennedy stevenkennedy2263 at gmail.com
Mon Jul 25 00:28:34 CEST 2011


Hi Vikas,

The following works (I'm not very good with sapply, but the for loop
is ok if your data set is not huge).

> df <- read.table("test.txt",stringsAsFactors=FALSE)
> df
   V1        V2 V3 V4 V5 V6 V7 V8     V9
1  10 135349467  g  G  4  0  0  5  ,,,.,
2  10 135349468  t  T  2  0  0  5  ,,c.,
3  10 135349469  g  G  7  0  0  5  ,,a.,
4  10 135349470  c  C  8  0  0  5  ,,,.,
5  10 135349471  a  A 10  0  0  5  ,,,.,
6  10 135349472  g  G  7  0  0  6 aa,.,,
7  10 135349473  g  G  7  0  0  6 ,,c.,,
8  10 135349474  g  G  4  0  0  6 ,,,.,,
9  10 135349475  a  A  8  0  0  6 ,,,.,,
10 10 135349476  t  T  1  0  0  6 g,,.,,
11 10 135349477  a  A  7  0  0  6 ,,,.,,
12 10 135349478  a  A 11  0  0  6 ,,,.,,
>
> df.rows <- c()
> counter <- 0
>
> for (i in 1:dim(df)[1]){
+   if(grepl('[[:alpha:]]',df[i,9])){
+     counter <- counter + 1
+     df.rows[counter] <- i
+   }
+ }
> sf <- df[-df.rows,]
> sf
   V1        V2 V3 V4 V5 V6 V7 V8     V9
1  10 135349467  g  G  4  0  0  5  ,,,.,
4  10 135349470  c  C  8  0  0  5  ,,,.,
5  10 135349471  a  A 10  0  0  5  ,,,.,
8  10 135349474  g  G  4  0  0  6 ,,,.,,
9  10 135349475  a  A  8  0  0  6 ,,,.,,
11 10 135349477  a  A  7  0  0  6 ,,,.,,
12 10 135349478  a  A 11  0  0  6 ,,,.,,
> df <- df[df.rows,]
> df
   V1        V2 V3 V4 V5 V6 V7 V8     V9
2  10 135349468  t  T  2  0  0  5  ,,c.,
3  10 135349469  g  G  7  0  0  5  ,,a.,
6  10 135349472  g  G  7  0  0  6 aa,.,,
7  10 135349473  g  G  7  0  0  6 ,,c.,,
10 10 135349476  t  T  1  0  0  6 g,,.,,

Steve

On Mon, Jul 25, 2011 at 7:32 AM, Bansal, Vikas <vikas.bansal at kcl.ac.uk> 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.
>



More information about the R-help mailing list