[R] Some issues with operations

arun smartpink111 at yahoo.com
Fri Sep 27 16:11:38 CEST 2013


HI Vivek,

I think there is only one row in the whole dataset which fulfills the condition.  If you need the dimension intact, use 'drop=FALSE'


 which(rowSums(mat1>0)==ncol(mat1))
#CXCL14 
 # 2349 


#Simplied some codes:

dat1<- read.table("FPKM_RZvsRP_expmat2_v3.txt",sep="\t",header=TRUE,stringsAsFactors=FALSE)

dat2<- dat1

dat2[,13:22]<-lapply(list(c(2,3),c(4,7),c(4,8),c(5,7),c(5,8),c(6,7),c(6,8),c(9,12),c(10,12),c(11,12)),function(x) {dat2[,x[1]] - dat2[,x[2]]} )
 colnames(dat2)[13:22]<-gsub("__","_",paste(c("p118",paste(rep("p132",6),c("",1:5),sep="_"),paste(rep("p91",3),c("",1:2),sep="_")),"diff",sep="_"))
mat1<- as.matrix(dat2[,13:22])
row.names(mat1)<- dat2[,1]
 res<-mat1[rowSums(mat1>0)==ncol(mat1),,drop=FALSE]

res
#       p118_diff p132_diff p132_1_diff p132_2_diff p132_3_diff p132_4_diff
#CXCL14  3.606171  1.241455    2.023101    1.413141    2.194787   0.5763301
 #      p132_5_diff p91_diff p91_1_diff p91_2_diff
#CXCL14    1.357977 3.485148   8.938696    6.29492
dim(res)
#[1]  1 10


A.K.

________________________________
From: Vivek Das <vd4mmind at gmail.com>
To: arun <smartpink111 at yahoo.com> 
Sent: Friday, September 27, 2013 5:36 AM
Subject: Some issues with operations



HI Arun,
I am facing some issues with the matrix operation in R. I am having a matrix  with some genes and their corresponding expression values between samples. I am trying to see the the difference in expression values of the columns. Then making a matrix which will contain the whole data and its corresponding differences. Then am extracting only the difference of the columns I computed in a matrix and trying to separate the positive and the negative differences. I have worked with this earlier and I have not faced any issue. I have also applied it to other samples and they work perfectly fine. But I donot know this time its failing. I tried with other matrix I performed earlier and still they work. Somewhere here it does not. Can you please let me know where I am getting wrong ? I am sending you the code snippet and the matrix so that it makes sense to you.

Code:

##### to check the transition from RZ to RP - 91 rz,118rz, 132rz1,132rz2 Vs 91rp1, 91rp3, 91rp4, 118rp3,132rp1, 132rp3, 132rp4

data<-read.table("",sep='\t', header=T)

#calculate differences

p118_diff<-c(as.numeric(data[,2])-as.numeric(data[,3]))
p132_diff<-c(as.numeric(data[,4])-as.numeric(data[,7]))
p132_1_diff<-c(as.numeric(data[,4])-as.numeric(data[,8]))
p132_2_diff<-c(as.numeric(data[,5])-as.numeric(data[,7]))
p132_3_diff<-c(as.numeric(data[,5])-as.numeric(data[,8]))
p132_4_diff<-c(as.numeric(data[,6])-as.numeric(data[,7]))
p132_5_diff<-c(as.numeric(data[,6])-as.numeric(data[,8]))
p91_diff<-c(as.numeric(data[,9])-as.numeric(data[,12]))
p91_1_diff<-c(as.numeric(data[,10])-as.numeric(data[,12]))
p91_2_diff<-c(as.numeric(data[,11])-as.numeric(data[,12]))

diff_m<-cbind(data,p118_diff,p132_diff,p132_1_diff,p132_2_diff,p132_3_diff,p132_4_diff,p132_5_diff,p91_diff,p91_1_diff,p91_2_diff)

##select all the positive differences

mat1<- as.matrix(diff_m[,13:22])
row.names(mat1)<- diff_m[,1]

res1<-mat1[rowSums(mat1>0)==ncol(mat1),]
head(res1)

In the above rest computation it is failing. as it cant give correct dimension for res1. I only get one row with 1 columns which should not be the idea case. I should get all the positive differences across all samples from the mat1 matrix. Can you please guide me where I am getting wrong? I am also attaching the matrix so that it works for you and you can understand where I am getting wrong.


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

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.das at ieo.eu
            vchris_05 at yahoo.co.in
            vd4mmind at gmail.com



More information about the R-help mailing list