[R-br] Automatizar leitura de arquivos e converter nome em colunas

Benilton Carvalho beniltoncarvalho em gmail.com
Terça Julho 8 15:01:16 BRT 2014


como seu exemplo nao e' reprodutivel e eu nao entendi o que e' a pergunta
(ha' alguma?), eu bolei a seguinte solucao para a hipotese da sua pergunta
ser: "como junto N arquivos e os transponho, gravando o obj combinado num
unico arquivo de saida?".

x = do.call(cbind, lapply(fileNames, read.table, header=TRUE))
names(x) = fileNames
write.table(t(x), file='saida.mod', col.names=FALSE, row.names=TRUE,
quote=FALSE)

b



Em 8 de julho de 2014 14:17, ASANTOS <alexandresantosbr em yahoo.com.br>
escreveu:

> Boa tarde pessoal,
>
>         Tenho inúmeros arquivos dpt que podem ser lidos com txt e gostaria
> de fazer o seguinte, ler os dados que são apenas uma coluna em cada arquivo
> e transpor eles, em seguida, pegar o nome do arquivo e a cada _ criar uma
> nova coluna, sendo um arquivo:
>
> Cupim%20Syntermes_COLONIA%201_operario_1_c1_140616.dpt
>
> Gostaria que a última coluna fosse os dados transpostos no arquivo e as
> colunas fosse: Cupim%20Syntermes, COLONIA%20, operario, 1, c1 e 140616.
>
> Segue CRM com três arquivos:
>
>
> #-----------------------------------------------------------
> --------------------
> ### Download a partir de uma lista de links com os arquivos
> #-----------------------------------------------------------
> --------------------
> #
> ### Obtenção de links
> links <- c(
> "https://www.dropbox.com/s/l5ofrqw01tnfmmv/Cupim%20Syntermes_COLONIA%201_
> operario_1_c1_140616.dpt",
> "https://www.dropbox.com/s/tkxkov16z813oc6/Cupim%20Syntermes_COLONIA%201_
> operario_2_c1_140616.dpt",
> "https://www.dropbox.com/s/hjcmw9qutwwolo0/Cupim%20Syntermes_COLONIA%201_
> operario_3_c1_140616.dpt")
>
> tokens    <- gsub("^.*/s/","",dirname(links))
> fileNames <- basename(links)
> newLinks  <- file.path("http://dl.dropbox.com/s", tokens, fileNames);
> newLinks
>
> for (a in newLinks) {
>           tryCatch(download.file(a, dest=basename(a), mode='wb'),
>                               error=function(...) print("Falha no
> download!"))}
>
> ### Verificando arquivos baixados corretamente
> ############################################################
> ##################
> fileInfo  <- file.info(fileNames); fileInfo ### observe o segundo arquivo
> files.OK  <- fileNames[fileInfo$size>0 & !is.na(fileInfo$size)]; files.OK
>
> ### Operando arquivos baixados corretamente
> ############################################################
> ##################
> for (b in files.OK) {
>           t       <- strsplit(b,"_|\\.")[[1]][2]
>           XYZ     <- data.frame(rep(t),t(b[b[,1],]))
>           outName <- paste0('XYZ-', t, '.txt')
>           write.table(XYZ, file ="termiteNIR.mod", row.names=F,append=T)
>           message(noquote(paste(outName, "salvo em", getwd())))
> }
> #</code>
>
>
>
> --
> ======================================================================
> Alexandre dos Santos
> Proteção Florestal
> IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
> Campus Cáceres
> Caixa Postal 244
> Avenida dos Ramires, s/n
> Bairro: Distrito Industrial
> Cáceres - MT                      CEP: 78.200-000
> Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO)
> e-mails:alexandresantosbr em yahoo.com.br
>         alexandre.santos em cas.ifmt.edu.br
> Lattes: http://lattes.cnpq.br/1360403201088680
> ======================================================================
>
> _______________________________________________
> 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.
>



-- 

[image: Benilton Carvalho on about.me]

Benilton Carvalho
about.me/benilton
  <http://about.me/benilton>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140708/8e9f901f/attachment.html>


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