Você tem o TabWin instalado?  Use-o para descomprimir o .dbc

Sent from Yahoo Mail on Android

On Mon, 16 Nov, 2015 at 0:45, Mauro Sznelwar
<sznelwar@uol.com.br> wrote:
Eu tentei rodar este script, mas a partir daí não rodou mais!

> system.time(d <- foreign:::read.dbf(gsub('dbc','dbf',b)))
Error in foreign:::read.dbf(gsub("dbc", "dbf", b)) :
  unable to open DBF file
Timing stopped at: 0.01 0 0.02
>
> dim(d)
Error: object 'd' not found
>
> system.time(save(d, file=gsub('.dbc','d.RData',b))) system.time(save(d, file=gsub('.dbc','c.RData',b), compress='xz'))
Error: unexpected symbol in "system.time(save(d, file=gsub('.dbc','d.RData',b))) system.time"
>
> system(paste('ls -lh ', substr(b,1,8), "*", sep=''))
Warning message:
running command 'ls -lh RDSP1509*' had status 127
>
> system.time(load(gsub('.dbc','d.RData',b)))
Error in readChar(con, 5L, useBytes = TRUE) : cannot open the connection
In addition: Warning message:
In readChar(con, 5L, useBytes = TRUE) :
  cannot open compressed file 'RDSP1509d.RData', probable reason 'No such file or directory'
Timing stopped at: 0 0 0
> system.time(load(gsub('.dbc','c.RData',b)))
Error in readChar(con, 5L, useBytes = TRUE) : cannot open the connection
In addition: Warning message:
In readChar(con, 5L, useBytes = TRUE) :
  cannot open compressed file 'RDSP1509c.RData', probable reason 'No such file or directory'
Timing stopped at: 0 0 0
>



Caros,

DBC é um DBF comprimido. Assim, (sempre) sairá um .dbf de um .dbc.

A sugestão de usar .RData (formato de dados do R) é útil apenas no caso
de precisar carregar os mesmos dados mais de uma vez no ambiente R. Isto
porque o caminho para sair de um .dbc até um .RData envolve descomprimir
o .dbc, ler o .dbf em R e salvar para .RData. Não vejo saída ao processo
de descomprimir .dbc e ler .dbf. Usar .RData é vantajoso para economizar
tempo e espaço em disco.

Exemplo: 202143 internações hospitalares em SP (estado) em Outubro
(disponível em
ftp://ftp.datasus.gov.br/dissemin/publicos/SIHSUS/200801_/Dados/)
Ao final disponibilizo o script utilizado.

Atividade                    segundos
--------------------------------------
download do arquivo              47.11
extrair .dbf do .dbc              2.29
ler o arquivo .dbf em R          6.57
salvar .RData (default)          2.35
salvar .Rdata (compress='xz')    19.00
ler .RData (compress default)    0.51
ler .RData (compress xz)          0.74
--------------------------------------

Os tamanhos em disco dos quatro arquivos em questão são
  .dbc              15.0 Mb
  .dbf              136.0 Mb
  .RData (default)    7.5 Mb
  .RData (xz)        4.6 Mb

Creio que esses números podem ajudar a decidir a melhor opção.

Elias

PS.: script utilizado para o exemplo:


a <- paste('ftp://ftp.datasus.gov.br/',
            'dissemin/publicos/SIHSUS/',
            '200801_/Dados/', sep='')
b <- 'RDSP1509.dbc'

system.time(download.file(paste(a,b,sep=''), b))

system.time(system(paste(
    'wine ../TabWin/dbf2dbc.exe', b)))

system.time(d <- foreign:::read.dbf(gsub('dbc','dbf',b)))

dim(d)

system.time(save(d, file=gsub('.dbc','d.RData',b)))
system.time(save(d, file=gsub('.dbc','c.RData',b), compress='xz'))

system(paste('ls -lh ', substr(b,1,8), "*", sep=''))

system.time(load(gsub('.dbc','d.RData',b)))
system.time(load(gsub('.dbc','c.RData',b)))


_______________________________________________
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 fornea cdigo mnimo reproduzvel.


---
Este email foi escaneado pelo Avast antivírus.
https://www.avast.com/antivirus


_______________________________________________
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 fornea cdigo mnimo reproduzvel.