Looping através de todos os arquivos no diretório em R, aplicando vários comandos

Eu preciso aplicar um conjunto de comandos em R para todos os arquivos .txt individuais (em torno de 300) em um diretório.

Eu não estou muito familiarizado com R, então toda a ajuda que eu consultei on-line sobre o loop é confusa, ou eu não posso descobrir como aplicar um loop quando você precisa aplicar vários comandos para cada arquivo.

Os comandos que eu preciso aplicar a cada arquivo (trees filogenéticas) dentro do diretório são (que usa a biblioteca do Mac do R):

 testtree <- read.tree("tree123.txt") unrooted_tr <- unroot(testtree) write.tree(unrooted_tr, file="unrootedtree123.txt") 

Como aplico um loop que aplicará esses comandos a cada arquivo .txt individual (usando R ou na linha de comando do Unix)? A saída (por exemplo, unrootedtree123.txt) precisará ter um nome diferente para cada arquivo individual.

Obrigado antecipadamente, Dani.

Você pode obter todos os arquivos e então fazer um loop usando o lapply e aplicar qualquer function que você queira aplicar da seguinte maneira:

 files < - list.files(path="path/to/dir", pattern="*.txt", full.names=TRUE, recursive=FALSE) lapply(files, function(x) { t <- read.table(x, header=TRUE) # load file # apply function out <- function(t) # write to file write.table(out, "path/to/output", sep="\t", quote=FALSE, row.names=FALSE, col.names=TRUE) })