[R-br] Leitura de arquivos

Paulo Justiniano paulojus em leg.ufpr.br
Quarta Janeiro 4 09:00:04 BRST 2012


Emerson

de fato a leirura é por coluna.
Uma possivel solucao é um rearranjo transpondo o resultado

as.vector(t(read.fwf("teste1.txt", widths=rep(1,10))))

Para o seu caso com linhas de tamanho diferente a solucao acima pode ainda 
ser usada trocando 10 pelo numero de elementos da maior linha
Isto vai gerar um vetor com NA's e basta entao excluir os NA's no final


On Tue, 3 Jan 2012, Emerson Cotta Bodevan wrote:

> Olá Paulo.
> A última linha pode ter números de elementos diferentes...
> 
> Mas achei a sua dica interessante. Porém, fui testá-la aqui e ocorreu que os dados não ficaram na ordem original do
> arquivo...
> 
> Meu arquivo (teste1.txt) estava assim:
> 
> 0123456789
> 1617181920
> 
> , ao utilizar a sua sugestão
> 
> unname(unlist(read.fwf("teste1.txt", widths=rep(1,10))))
> 
> apareceu o seguinte no prompt do R:
> 
> 0 1 1 6 2 1 3 7 4 1 5 8 6 1 7 9 8 2 9 0
> 
> Ou seja, ele está lendo por coluna. Gostaria que mantivesse o original,  por linha...
> 
> 0 1 2 3 4 5 6 7 8 9 1 6 1 7 1 8 1 9 2 0
> 
> O que pode ser?
> 
> Abs,
> 
> Em 2 de janeiro de 2012 09:20, Paulo Justiniano <paulojus em leg.ufpr.br> escreveu:
>       Emerson
>
>       no seu arquivo original as linhas nao possuem
>       o mesmo numero de elementos?
>
>       Caso o numero de elementos fosse o memso uma solucao simplificada
>       seria (supondo 30 elementos por linha)
>
>       unname(unlist(read.fwf("SEU ARQUIVO DE DADOS", widths=rep(1,30))))
> 
> 
> 
> 
> 
> 
>
>       On Mon, 2 Jan 2012, Emerson Cotta Bodevan wrote:
>
>             Obrigado a todos.
>             A solução para meu caso ficou assim:
>
>             teste2<-scan("teste2.txt",what=character())
>             teste2
>             teste3<-NA
>             for(i in 1:length(teste2))
>             {
>                 teste3<-c(teste3,as.numeric(strsplit(teste2,'')[[i]]))
>             }
>             teste3<-teste3[2:length(teste3)]
>             teste3
>
>             , onde teste2.txt é um arquivo com duas linhas com uma sequencia de inteiros sem espaços.
> 
>
>             0123456789101
>             0920212223
> 
>
>             Abs,
>
>             Em 1 de janeiro de 2012 10:48, Leonard de Assis <assis.leonard em gmail.com> escreveu:
>                  tente usar o read.fwf
>
>                  digite ?read.fwf para saber a sintaxe correta.
>
>             []s
>             Leonard de Assis
>             assis <dot> leonard <at> gmail <dot> com
>
>                  Em 31/12/2011 14:27, Emerson Cotta Bodevan escreveu:
>                        Prezados,
>             tenho um arquivo .txt com uma sequência enorme de números.
>
>             Por ex.:
> 0120304405560085673947684658495604932570932847509836536793586593420574092398564230562439065423095624359842350234567
>
>             230945
>             7340127459042759834265093248560147237561092436509864230543609586723096756759867243670934675....
>                                                        .
>                                                        .
>                                                        .
>             ...87350274523475982734596239467358927609650972345792034759237459623767235967526
>
>             chego a ter milhares de números! Veja que não há espaço entre os dígitos da sequência!
>
>             Gostaria de ler esse arquivo para um vetor mas, ao ler, quero que o R entenda que cada
>             dígito deva ser
>             armazenado numa posição diferente no vetor criado.
>
>             Por ex. (no arquivo acima):
>
>             0 1 2 0 3 0 4 4 0 5 5 6 0 0 8... cada um  pertencendo a uma posição no vetor criado.
>
>             Agradeço qualquer ajuda,
>
>             --
>             Emerson
> 
> 
>
>             _______________________________________________
>             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.
> 
>
>             _______________________________________________
>             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.
> 
> 
> 
>
>             --
>             Emerson
> 
> 
> 
> _______________________________________________
> 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.
> 
> 
> 
> 
> --
> Emerson
> 
> 
>


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