[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