[R-br] Empilhar arquivos de um diretório em arquivo único

Yury Duarte yurynepomuceno em gmail.com
Segunda Fevereiro 26 16:31:16 -03 2018


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 em 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 em 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 em 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.
>>
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20180226/c8679b83/attachment.html>


Mais detalhes sobre a lista de discussão R-br