Olá Yury,

Se na pasta NASA estiver somente os arquivos que você deseja combinar, você pode tentar fazer o seguinte:

raiz = "C:\\Users\\Yury\\Desktop\\"
x = "NASA"
setwd(paste0(raiz, x))

txt_files <- list.files(full.names = T, recursive = T, pattern = "\\.txt$") 
list_read <- lapply(txt_files, read.table,  header = T, sep = "\t")
df_read <- do.call(rbind, list_read)
write.table(df_read, 'dados_completo.txt', sep = "\t", append = T, col.names = F, row.names = F)

Abraço


On Mon, Feb 26, 2018 at 3:22 PM Yury Duarte via R-br <r-br@listas.c3sl.ufpr.br> wrote:
Boa tarde colegas listeiros, como vão?

Estou buscando unir diversos arquivos .txt de determinados diretórios num arquivo único.
Todos os diretórios tem o mesmo número de arquivos (10) e cada um deles tem o mesmo numero de linhas e de colunas (36 x 23), de forma que o arquivo final gerado deveria ser um objeto de dimensão 360 x 23.
Entretanto, em algum ponto, o comando não funciona de modo correto e o arquivo final gerado nunca bate com o desejado.

Segue o código: (em anexo, seguem os arquivos de um dos diretórios para teste)

rm(list = ls())

raiz = "C:\\Users\\Yury\\Desktop\\"
x = "NASA"

setwd(paste0(raiz, x))
  
  #--------------------Juntar Arquivos num Unico .txt--------------------#
  for(i in 1:length(dir(paste0(raiz, x)))){
    
    A1 = read.table(dir(paste0(raiz, x))[i], header = T, sep = "\t"); head(A1) 
    if(i == 1){
      write.table(A1, paste0(raiz, x, '\\', x,'.txt'), sep = "\t", append = T, col.names = T, row.names = F)
    }
    else{
      write.table(A1, paste0(raiz, x, '\\', x,'.txt'), sep = "\t", append = T, col.names = F, row.names = F)
    }
    print (paste0(i, ' ok'))
}

Desde já, agradeço pela ajuda!

Yury Duarte
Engenheiro Agrônomo - ESALQ/USP
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
--

Luís G. Silva e Silva