table values
1
0
Entering edit mode
@daphne-mouzaki-ri-1878
Last seen 9.6 years ago
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
• 964 views
ADD COMMENT
0
Entering edit mode
@johannes-freudenberg-810
Last seen 9.6 years ago
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 COMMENT

Login before adding your answer.

Traffic: 1020 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6