Question: table values
0
gravatar for daphne mouzaki RI
13.2 years ago by
daphne mouzaki RI80 wrote:
Hi Johannes and thanks for your reply. The PietrLand.csv file is the file that contains the gene name, regulation (-1,1 down, up), the Breed(Pietrain=1, Landrace=2) and the Time (1,2,3,..7 which stands for 2,4,8,12,16,24,30 hours that the samples were taken respectively). Each gene was down or up regulated at different time points per breed and I want to have these info in a table. To be more specific : > PL<-read.csv("PietrLand.csv",header=TRUE) > dim(PL) [1] 6236 4 > class(PL) [1] "data.frame" > PL[1:4,] Gene.name Regulation Breed Time 1 Ssc.7157.1.A1_at 1 1 1 2 Ssc.9062.1.A1_at 1 1 1 3 Ssc.14467.2.S1_a_at 1 1 1 4 Ssc.19413.1.A1_at 1 1 1 > q<-table(PL[,c(1,4)]) > dim(q) [1] 2568 7 > q[1:4,] Time Gene.name 1 2 3 4 5 6 7 AFFX-Ss_IRP_3_at 1 1 2 0 0 1 1 AFFX-Ss_IRP_5_at 0 0 1 0 0 0 0 AFFX-Ss_IRP_M_at 0 0 1 0 0 0 0 AFFX-SSC-28SrRNA_at 0 0 1 0 1 1 0 What I would like to have is a combination of Time-Breed information per gene. As you can notice at different time points genes are differentially expressed ( up-down regulated) and I want to keep track of the gene behaviour per breed. More specifically sth like this : Gene.name Breed1 Breed 2 Time min Time max Time min Time max AFFX-Ss_IRP_3_at 2 4 2 5 AFFX-Ss_IRP_5_at 1 6 3 7 This info mean for example the first gene that the gene was appearing down regulated at time point 2 and up regulated for time 4 for the first breed and that the gene was appearing down reg. at time point 2 and up regulated for time point 5 for the second breed. The resulting table should have 2568 X 4 dimensions. I thought about using the function apply() but it needs a matrix and this is not a matrix. Cheers, Daphne
• 596 views
ADD COMMENTlink modified 13.1 years ago by Johannes Freudenberg30 • written 13.2 years ago by daphne mouzaki RI80
Answer: table values
0
gravatar for Johannes Freudenberg
13.1 years ago by
Johannes Freudenberg30 wrote:
Hi Daphne, can you convert q into a matrix using as.matrix()? For example: > q<-as.matrix(table(PL[,c(1,4)])) Also, you can always use apply() to make a quick-and-dirty for-loop. For example > x <- matrix(rnorm(100), 10) > apply(matrix(1:10), 1, function(i) mean(x[i,])) #row means [1] 0.36618487 -0.27148188 0.22449872 0.36215196 0.15594956 0.16164272 0.05519145 -0.17158213 [9] -0.19026337 -0.12838692 > y <- matrix(rnorm(100),10) > apply(matrix(1:10), 1, function(i) cor(x[i,], y[i,])) #row-wise correlation between x and y [1] -0.569887927 0.008844097 -0.602930234 -0.092437966 0.074451523 0.099452783 0.199365306 [8] -0.427166116 -0.488460859 -0.134369206 This is ugly on so many levels but sometimes it saves me a lot of programming time. Of course, at least for the first example, there is a much better solution: > rowMeans(x) [1] 0.36618487 -0.27148188 0.22449872 0.36215196 0.15594956 0.16164272 0.05519145 -0.17158213 [9] -0.19026337 -0.12838692 Best, --Johannes Johannes Freudenberg Graduate Student Division of Biomedical Informatics TCHRF 8526 Cincinnati Children's Hospital Medical Center 3333 Burnet Avenue Cincinnati, OH 45229 phone: (513) 636-1424 fax: (513) 636-2056 e-mail: johannes.freudenberg at cchmc.org >>> "daphne mouzaki (RI)" <daphne.mouzaki at="" bbsrc.ac.uk=""> 09/23/06 7:43 AM >>> Hi Johannes and thanks for your reply. The PietrLand.csv file is the file that contains the gene name, regulation (-1,1 down, up), the Breed(Pietrain=1, Landrace=2) and the Time (1,2,3,..7 which stands for 2,4,8,12,16,24,30 hours that the samples were taken respectively). Each gene was down or up regulated at different time points per breed and I want to have these info in a table. To be more specific : > PL<-read.csv("PietrLand.csv",header=TRUE) > dim(PL) [1] 6236 4 > class(PL) [1] "data.frame" > PL[1:4,] Gene.name Regulation Breed Time 1 Ssc.7157.1.A1_at 1 1 1 2 Ssc.9062.1.A1_at 1 1 1 3 Ssc.14467.2.S1_a_at 1 1 1 4 Ssc.19413.1.A1_at 1 1 1 > q<-table(PL[,c(1,4)]) > dim(q) [1] 2568 7 > q[1:4,] Time Gene.name 1 2 3 4 5 6 7 AFFX-Ss_IRP_3_at 1 1 2 0 0 1 1 AFFX-Ss_IRP_5_at 0 0 1 0 0 0 0 AFFX-Ss_IRP_M_at 0 0 1 0 0 0 0 AFFX-SSC-28SrRNA_at 0 0 1 0 1 1 0 What I would like to have is a combination of Time-Breed information per gene. As you can notice at different time points genes are differentially expressed ( up-down regulated) and I want to keep track of the gene behaviour per breed. More specifically sth like this : Gene.name Breed1 Breed 2 Time min Time max Time min Time max AFFX-Ss_IRP_3_at 2 4 2 5 AFFX-Ss_IRP_5_at 1 6 3 7 This info mean for example the first gene that the gene was appearing down regulated at time point 2 and up regulated for time 4 for the first breed and that the gene was appearing down reg. at time point 2 and up regulated for time point 5 for the second breed. The resulting table should have 2568 X 4 dimensions. I thought about using the function apply() but it needs a matrix and this is not a matrix. Cheers, Daphne _______________________________________________ Bioconductor mailing list Bioconductor at stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/bioconductor Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
ADD COMMENTlink written 13.1 years ago by Johannes Freudenberg30
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 377 users visited in the last hour