Dear Hélène Genet,

Re:

> Dear all,
> 
> I need to do the same procedure on several files. But I don't know how to 
> refer to the file name.
> Here is an example of what I am trying to do.
> 
> List of files: file1(A,B,C, D1...Dn), file2(A,B,C,E1,...,En), 
> file3(A,B,C,F1,...,Fn)
> 
> Procedure I want to apply on each file:
> 
> dft <- melt(df,id=c('A','B','C'))
> dft$X <- substr(dft$variable,1,3)
> dft$Y <- substr(dft$variable,4,8)
> dft1 <- cast(dft, A+B+C+X ~ Y,value="response")
> 
> As you see all the files contains the same 3 variables A,B,C that I use in 
> the procedure.
> So I want to apply the procedure on all the file in a loop.
> Something like :
> 
> filelist <- c('file1' , 'file2' , 'file3')
> 
> for (i in 1:3) {
> filename <- filelist[i]
> ...
> }
> 
> Any suggestion to refer to these files in this loop?
> 
> Thanks you in advance,
> 
> Helene
> 
> -- 
> Hélène Genet, PhD
> Institute of Arctic Biology
> University of Alaska Fairbanks
> Irving I Blg, Room 402
> Fairbanks AK 99775
> 
> Phone: 907-474-5472
> Cell: 907-699-4340
> Email: hge...@alaska.edu
> 
> ______________________________________________
> 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.
> 



I use this procedure to point to a folder (of WAV files in this example) and 
process all those files in a loop:


#  select FOLDER w. WAV-files
fnam = dirname(file.choose())    # choose any one file from the folder (= 
directory)
filist = list.files(fnam, recursive=TRUE, pattern="wav")
filist1 = paste(fnam,"/",filist, sep="")
nfiles = length(filist1)
#  
#  filenames loop ===============================>>>>>>>>>>
for(i in 1:nfiles) {
        inname=filist1[i]
        ywave=readWave(inname)  # read the i'th file  (wav as an example, can 
be any filetype you need)
        ywave2=ywave  # output is the same as input (yet)
        ###
        ###   DO ANY PROCESSING YOU WANT HERE to change ywave into ywave2
        ###
        outname=paste(dirname(inname), "/*",basename(inname), sep="")
        writeWave(ywave2,outname)
        }


I took these few lines out of a larger program with wave file processing not 
relevant here.
Hope I didn't forget something, and that this works for your case,


Beste wishes,



Franklin Bretschneider
Utrecht University
--
Dept Biologie
Kruytgebouw W711
Padualaan 8
3584 CH Utrecht
The Netherlands

______________________________________________
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