Not sure I understand the problem.
dat1<- read.table(text="
gene    ZPT.1   ZPT.0   ZPT.2   ZPT.3   PDGT.1  PDGT.0
XLOC_000001 3516    626 1277    770 4309    9030
XLOC_000002 342 82  185 72  835 1095
XLOC_000003 2000    361 867 438 454 687
XLOC_000004 143 30  67  37  90  236
XLOC_000005 0   0.21   0.1   0   0   0
XLOC_000006 0   0.1   0   0.01   0   0
XLOC_000007 0   0   0   0   1   3
XLOC_000008 0   0   0   0   0.15   0
XLOC_000009 0   0   0.12   0   0   0
XLOC_000010 7   1   5   3   0   1
XLOC_000011 63  10  19  15  92  228
",sep="",stringsAsFactors=FALSE,header=TRUE)
mat1<- as.matrix(dat1[,-1])
 row.names(mat1)<- dat1[,1]


 mat1[rowSums(mat1<=0.2)!=ncol(mat1),]
            ZPT.1  ZPT.0  ZPT.2 ZPT.3 PDGT.1 PDGT.0
XLOC_000001  3516 626.00 1277.0   770   4309   9030
XLOC_000002   342  82.00  185.0    72    835   1095
XLOC_000003  2000 361.00  867.0   438    454    687
XLOC_000004   143  30.00   67.0    37     90    236
XLOC_000005     0   0.21    0.1     0      0      0 ##row is selected because 
at least one of the element is >0.2
XLOC_000007     0   0.00    0.0     0      1      3
XLOC_000010     7   1.00    5.0     3      0      1
XLOC_000011    63  10.00   19.0    15     92    228
as.vector(which(!rowSums(mat1<=0.2)!=ncol(mat1)))
#[1] 6 8 9

mat1[c(6,8,9),]
#            ZPT.1 ZPT.0 ZPT.2 ZPT.3 PDGT.1 PDGT.0
#XLOC_000006     0   0.1  0.00  0.01   0.00      0
#XLOC_000008     0   0.0  0.00  0.00   0.15      0
#XLOC_000009     0   0.0  0.12  0.00   0.00      0



A.K.



________________________________
From: Vivek Das <vd4mm...@gmail.com>
To: arun <smartpink...@yahoo.com> 
Sent: Monday, August 5, 2013 1:05 PM
Subject: Re: Removing the rows where all the elements are 0



Hi Arun,

This seems to work only if the values are perfect 0 but if there are values in 
rows like 0.01, 0.08 and 0.05 then if I want to use the command 
 res2<-mat1[rowSums(mat1<=0.2)!=ncol(mat1),]

Then it does not work. Can you tell me why? Lets say I want to remove the rows 
which have values less than 0.2 for the columns then what should be the 
condition?


----------------------------------------------------------

Vivek Das
PhD Student in Computational Biology
Giuseppe Testa's Lab
European School of Molecular Medicine
IFOM-IEO Campus
Via Adamello, 16
Milan, Italy

emails: vivek....@ieo.eu
            vchris...@yahoo.co.in
            vd4mm...@gmail.com



On Mon, Aug 5, 2013 at 2:31 PM, arun <smartpink...@yahoo.com> wrote:

Hi Vivek,
>
>dat1<- read.table(text="
>
>gene    ZPT.1   ZPT.0   ZPT.2   ZPT.3   PDGT.1  PDGT.0
>XLOC_000001 3516    626 1277    770 4309    9030
>XLOC_000002 342 82  185 72  835 1095
>XLOC_000003 2000    361 867 438 454 687
>XLOC_000004 143 30  67  37  90  236
>XLOC_000005 0   0   0   0   0   0
>XLOC_000006 0   0   0   0   0   0
>XLOC_000007 0   0   0   0   1   3
>XLOC_000008 0   0   0   0   0   0
>XLOC_000009 0   0   0   0   0   0
>XLOC_000010 7   1   5   3   0   1
>XLOC_000011 63  10  19  15  92  228
>",sep="",stringsAsFactors=FALSE,header=TRUE)
>
>res<- dat1[rowSums(dat1[,-1]==0)!=(ncol(dat1)-1),]
>res
>#          gene ZPT.1 ZPT.0 ZPT.2 ZPT.3 PDGT.1 PDGT.0
>#1  XLOC_000001  3516   626  1277   770   4309   9030
>#2  XLOC_000002   342    82   185    72    835   1095
>#3  XLOC_000003  2000   361   867   438    454    687
>#4  XLOC_000004   143    30    67    37     90    236
>#7  XLOC_000007     0     0     0     0      1      3
>#10 XLOC_000010     7     1     5     3      0      1
>#11 XLOC_000011    63    10    19    15     92    228
>
>If it is a matrix:
>mat1<- as.matrix(dat1[,-1])
> row.names(mat1)<- dat1[,1]
>
>
> res2<-mat1[rowSums(mat1==0)!=ncol(mat1),]
> res2
>#            ZPT.1 ZPT.0 ZPT.2 ZPT.3 PDGT.1 PDGT.0
>#XLOC_000001  3516   626  1277   770   4309   9030
>#XLOC_000002   342    82   185    72    835   1095
>#XLOC_000003  2000   361   867   438    454    687
>#XLOC_000004   143    30    67    37     90    236
>#XLOC_000007     0     0     0     0      1      3
>#XLOC_000010     7     1     5     3      0      1
>#XLOC_000011    63    10    19    15     92    228
>
>
>#I don't have an account in stackoverflow.  So, it is must be somebody else.
>A.K.
>
>
>
>________________________________
>From: Vivek Das <vd4mm...@gmail.com>
>To: arun <smartpink...@yahoo.com>
>Sent: Monday, August 5, 2013 6:31 AM
>Subject: Removing the rows where all the elements are 0
>
>
>
>
>Hi Arun,
>Am using a matrix of gene expression, frag counts to calculate differentially 
>expressed genes. I would like to know how to remove the rows which have values 
>as 0. Then my data set will be compact and less spurious results will be given 
>for the downstream analysis I do using this matrix.
>Input
>gene    ZPT.1ZPT.0ZPT.2ZPT.3PDGT.1PDGT.0XLOC_000001 
>3516626127777043099030XLOC_000002 34282185728351095XLOC_000003 
>2000361867438454687XLOC_000004 14330673790236XLOC_000005 000000XLOC_000006 
>000000XLOC_000007 000013XLOC_000008 000000XLOC_000009 000000XLOC_000010 
>715301XLOC_000011 6310191592228
>Desired output
>gene    ZPT.1ZPT.0ZPT.2ZPT.3PDGT.1PDGT.0XLOC_000001 
>3516626127777043099030XLOC_000002 34282185728351095XLOC_000003 
>2000361867438454687XLOC_000004 14330673790236XLOC_000007 000013XLOC_000010 
>715301XLOC_000011 6310191592228
>As of now I only want to remove those rows where all the frag count columns 
>are 0 if in any row some values are 0 and others are non zero I would like to 
>keep that row intact as you can see my example above.
>Please let me know how to do this.
>
> Hey arun I did not understand the command you wrote in the R stack overflow 
>forum can you plase write here and help me out.
>----------------------------------------------------------
>
>Vivek Das
>PhD Student in Computational Biology
>Giuseppe Testa's Lab
>European School of Molecular Medicine
>IFOM-IEO Campus
>Via Adamello, 16
>Milan, Italy
>
>emails: vivek....@ieo.eu
>            vchris...@yahoo.co.in
>            vd4mm...@gmail.com
>

______________________________________________
R-help@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.

Reply via email to