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

Cesar Rabak cesar.rabak em gmail.com
Segunda Fevereiro 26 16:24:24 -03 2018


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/8603d66b/attachment.html>


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