[R] Loops for repetitive task

a217 ajn21 at case.edu
Wed Aug 10 06:31:57 CEST 2011


Hello,

I have an R script that I use as a template to perform a task for multiple
files (in this case, multiple chromosomes).

What I would like to do is to utilize a simple loop to parse through each
chromosome number so that I don't have to type the same code over and over
again in the R console.

I've tried using:

for(i in 1:22){
etc..
}

and replacing each chromosome number with [[i]], but that did not seem to
work.

Below is the script I have. Basically everywhere you see a '2' I would like
there to be an 'i' so that the script can be applied in a general sense.
################################Code###############################

chr2.data<-read.table(file="chr2.out.txt", header=F)
colnames(chr2.data)<-c("chr","start","end","base1","base2","totalreads","methylation","strand")
splc2<-split(chr2.data, paste(chr2.data$chr))
chr2.df<-as.data.frame(t(sapply(splc2, function(x)
list(TR=NROW(x[['totalreads']]),    RG1=sum(x[['totalreads']]>=1),
percent=(NROW(x[['totalreads']]>=1)/sum(x[['totalreads']]))))))
chr2.df.summ<-as.data.frame(t(sapply(splc2, function(x)
summary(x$methylation))))
chr2.summ<-cbind(chr2.df,chr2.df.summ)

##################################################################


Here are some sample input files in case you'd like to test the code:
##########
# chr1.out.txt
##########
chr1	100	159	104	104	1	0.05	+
chr1	100	159	145	145	1	0.04	+
chr1	200	260	205	205	1	0.12	+
chr1	500	750	600	600	1	0.09	+

##########
# chr2.out.txt
##########
chr2	100	200	105	105	1	0.03	+
chr2	100	200	110	110	1	0.08	+
chr2	300	400	350	350	0	0	+


The code works perfectly fine just typing everything out by hand, but that
is very inefficient given that there are 24 chromosomes for each dataset. I
am just looking for any suggestions as to how I can write a general version
of this code.


--
View this message in context: http://r.789695.n4.nabble.com/Loops-for-repetitive-task-tp3732022p3732022.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list