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 <[email protected]> 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 <[email protected]> > : > >> 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 >> [email protected] >> 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. >> > >
_______________________________________________ R-br mailing list [email protected] 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.
