OK, Yuri.

A advertência é benigna ela está informando que não faz sentido ao mesmo tempo
> write.table(A1, paste0(raiz, x, '\\', x,'.txt'), sep = "\t", append = T, col.names = T, row.names = F)
ou seja:
adicionar linhas e ter nomes de colunas, lembre-se que o código não sabe que essa é a primeira escrita!

Para mim, mais sintomático é que o nº índice da última iteração do loop é 11 em vez do dez esperado para dez arquivos no RAR que você anexou.

Para provar que sabemos como remediar, você pode tentar:

1) no   if(i == 1){ colocar append = F na chamada a write.table; e

2) nas duas chamadas a write.table, mudar a extensão do arquivo pra algo diferente (por exemplo tsv) e rodar o script.

HTH (de novo pensado sem testes...)

--
Cesar Rabak



2018-02-26 16:31 GMT-03:00 Yury Duarte <yurynepomuceno@gmail.com>:
Boa tarde Luis e Cesar.

Antes de mais nada, obrigado por apresentar essa nova abordagem, Luis. O resultado desse código foi exatamente o que eu esperava obter com o que apresentei no corpo do email.

Cesar, as saidas que obtive ao rodar o comando print foram:

[1] "1 - ok!"
[1] "2 - ok!"
[1] "3 - ok!"
[1] "4 - ok!"
[1] "5 - ok!"
[1] "6 - ok!"
[1] "7 - ok!"
[1] "8 - ok!"
[1] "9 - ok!"
[1] "10 - ok!"
[1] "11 - ok!"
Warning messages:
1: In write.table(A1, paste0(raiz, x, "\\", x, ".txt"), sep = "\t",  :
  appending column names to file

Não soube como interpretar essa advertência, se puder me ajudar a entender o erro nesse código, seria de grande ajuda.

Mais uma vez, agradeço pela colaboração de todos!

Att

Yury Duarte
Engenheiro Agrônomo - ESALQ/USP

Em 26 de fevereiro de 2018 16:24, Cesar Rabak <cesar.rabak@gmail.com> escreveu:
Yury,

Como a resposta do Luis é uma solução diferente, apenas comento o seguinte:

caveat emptor raciocínio em cima do código sem testar. A linha de código:

  for(i in 1:length(dir(paste0(raiz, x)))){

Ao ler o diretório n vezes, na segunda passada passará a ver um arquivo adicional "NASA.txt", certo? e você não vai querer que ele seja incluso no meio de "londrina.txt" e "pelotas.txt", não é?

Quais mensagens e qual resultados das impressões " print (paste0(i, ' ok'))" você obteve?


2018-02-26 15:22 GMT-03:00 Yury Duarte via R-br <r-br@listas.c3sl.ufpr.br>:
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.