[R-br] Leitura de arquivos

Emerson Cotta Bodevan ecbodevan.ufvjm em gmail.com
Quarta Janeiro 4 21:21:00 BRST 2012


Olá Paulo,

obrigado pela dica. Funcionou perfeitamente.

Abs,

Em 4 de janeiro de 2012 09:00, Paulo Justiniano <paulojus em leg.ufpr.br>escreveu:

> 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.:
>> 012030440556008567394768465849**560493257093284750983653679358**
>> 659342057409239856423056243906**5423095624359842350234567
>>
>>            230945
>>            734012745904275983426509324856**014723756109243650986423054360
>> **958672309675675986724367093467**5....
>>                                                       .
>>                                                       .
>>                                                       .
>>            ...**873502745234759827345962394673**
>> 589276096509723457920347592374**59623767235967526
>>
>>            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<https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br>
>>            Leia o guia de postagem (http://www.leg.ufpr.br/r-br-**guia<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<https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br>
>>            Leia o guia de postagem (http://www.leg.ufpr.br/r-br-**guia<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<https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br>
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-**guia<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*
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120104/a9c282d7/attachment.html>


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