
Ola, Estou batendo cabeca com o R. Estou com um dos arquivos txt da amostra do censo 2010, e apesar de saber importar com mascara de leitura em SPSS e SAS, estou me sentindo um pre-escolar no R. como faco importacao com mascara de leitura? sabe, aquela coisa de colocar caracter 1 a 4 - var 1 caracter 5 a 7 - var 2 e assim por diante. Bati cabeca com a funcao scan, mas como ela nao me ama e sao quase 3h da manha por aqui, ela nao quis importar, a sintaxe foi ridicula, tentei enfiar a mascara numa lista dentro do what, com os comprimentos de cada campo do arquivo: teste <- scan("C:/Users/Public/novo case/amostra.txt", what=list( length(2),length(5),length(13),length(8),length(3),length(1),length(2),length(3),length(2),length(1),length(2),length(2),length(1),length(3),length(3),length(2),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(4),length(1),length(7),length(7),length(3),length(3),length(1),length(7),length(7),length(7),length(1),length(7),length(7),length(7),length(1),length(1),length(2),length(2),length(1),length(1),length(2),length(1),length(1),length(1),length(3),length(3),length(3),length(1),length(7),length(7),length(7),length(1),length(2),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(4),length(5),length(1),length(1),length(1),length(1),length(6),length(6),length(4),length(1),length(6),length(4),length(7),length(4),length(7),length(4),length(7),length(5),length(6),length(4),length(3),length(1),length(1),length(1),length(1),length(1),length(1),length(6),length(1),length(7),length (7),length(7),length(1),length(1),length(1),length(2),length(2),length(2),length(1),length(2),length(2),length(2),length(1),length(3),length(1),length(1),length(1),length(2),length(4),length(1),length(2),length(2),length(2),length(2),length(1),length(2),length(1),length(1),length(1),length(1),length(1),length(3),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),len gth(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1) )) Mas esta obviamente errado e claro, nao sei pq. Alguem me ajuda? Nao precisa ser essa funcao, mas tentei achar uma que fosse a mais flexivel possivel, pq as outras que uso (read.table, read.csv, etc) elas supoe que o arquivo tem algum tipo de separador, nem que seja um espacinho qualquer pra quebrar o galho. Agradeco qq ajuda, e nao me zoem, estou morrendo de sono e odio do R. Abs, Danielle

teste = read.fwf("arquivo.txt", c(2, 5, 13)) O vetor contem os comprimentos dos campos... b On Thursday, 5 July 2012, Danielle Steffen wrote:
Ola,
Estou batendo cabeca com o R. Estou com um dos arquivos txt da amostra do censo 2010, e apesar de saber importar com mascara de leitura em SPSS e SAS, estou me sentindo um pre-escolar no R. como faco importacao com mascara de leitura? sabe, aquela coisa de colocar caracter 1 a 4 - var 1 caracter 5 a 7 - var 2 e assim por diante.
Bati cabeca com a funcao scan, mas como ela nao me ama e sao quase 3h da manha por aqui, ela nao quis importar, a sintaxe foi ridicula, tentei enfiar a mascara numa lista dentro do what, com os comprimentos de cada campo do arquivo:
teste <- scan("C:/Users/Public/novo case/amostra.txt", what=list( length(2),length(5),length(13),length(8),length(3),length(1),length(2),length(3),length(2),length(1),length(2),length(2),length(1),length(3),length(3),length(2),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(4),length(1),length(7),length(7),length(3),length(3),length(1),length(7),length(7),length(7),length(1),length(7),length(7),length(7),length(1),length(1),length(2),length(2),length(1),length(1),length(2),length(1),length(1),length(1),length(3),length(3),length(3),length(1),length(7),length(7),length(7),length(1),length(2),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(4),length(5),length(1),length(1),length(1),length(1),length(6),length(6),length(4),length(1),length(6),length(4),length(7),length(4),length(7),length(4),length(7),length(5),length(6),length(4),length(3),length(1),length(1),length(1),length(1),length(1),length(1),length(6),length(1),len gth(7),length(7),length(7),length(1),length(1),length(1),length(2),length(2),length(2),length(1),length(2),length(2),length(2),length(1),length(3),length(1),length(1),length(1),length(2),length(4),length(1),length(2),length(2),length(2),length(2),length(1),length(2),length(1),length(1),length(1),length(1),length(1),length(3),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1), length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1),length(1) ))
Mas esta obviamente errado e claro, nao sei pq.
Alguem me ajuda? Nao precisa ser essa funcao, mas tentei achar uma que fosse a mais flexivel possivel, pq as outras que uso (read.table, read.csv, etc) elas supoe que o arquivo tem algum tipo de separador, nem que seja um espacinho qualquer pra quebrar o galho.
Agradeco qq ajuda, e nao me zoem, estou morrendo de sono e odio do R.
Abs, Danielle

2012/7/5 Benilton Carvalho <beniltoncarvalho@gmail.com>:
teste = read.fwf("arquivo.txt", c(2, 5, 13))
O vetor contem os comprimentos dos campos...
Se o arquivo for muito grande e você tiver problemas com a memória do R ou com demora para leitura, pode fazer a leitura em duas etapas. (1) Usa a função fwf2csv() do pacote descr para criar um arquivo com caractere de tabulação como campo separador e sem uso de aspas em torno de strings. (2) Lê o arquivo com read.table(). -- Jakson

Cara Danielle, Além do que já foi falado, você pode consultar o seguinte material: https://sites.google.com/site/marcosfs2006/textos/Usando_R_para_Importar_Mic... Abs. Em 5 de julho de 2012 06:35, Jakson Alves de Aquino <jalvesaq@gmail.com>escreveu:
2012/7/5 Benilton Carvalho <beniltoncarvalho@gmail.com>:
teste = read.fwf("arquivo.txt", c(2, 5, 13))
O vetor contem os comprimentos dos campos...
Se o arquivo for muito grande e você tiver problemas com a memória do R ou com demora para leitura, pode fazer a leitura em duas etapas. (1) Usa a função fwf2csv() do pacote descr para criar um arquivo com caractere de tabulação como campo separador e sem uso de aspas em torno de strings. (2) Lê o arquivo com read.table().
-- Jakson _______________________________________________ R-br mailing list R-br@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.
-- Marcos F. Silva http://sites.google.com/site/marcosfs2006
participantes (4)
-
Benilton Carvalho
-
Danielle Steffen
-
Jakson Alves de Aquino
-
Marcos Silva