note q magicamente a minha funcao foi como equantileByCounts(), mas a intencao era quantileByCounts().
2011/7/4 Benilton Carvalho <[email protected]>: > Carlos, > > ando meio enrolado para ver com detalhes o que pode estar > acontecendo... e, alem disso, nao consigo usar o odbcConnectAccess > (pode ser que seja especifico de plataforma - mas isso eh o minimo, > nao fui procurar detalhes). > > A minha impressao eh que o problema q vc tem eh exatamente por conta > de rep(valor, ponderador)... entao, uma ideia a se tentar e' calcular > os quantis sem precisar do rep... veja o codigo anexo (note q uso > Hmisc, vc nao precisa fazer isso, continue da forma q ja esta fazendo, > desde q o meu 'tmp' corresponda a sua tabela com todos os dados): > > ## INICIO > library(Hmisc) > tmp <- mdb.get('bd1_Teste.mdb', 'Plan1', fileEncoding='latin1', > encoding='latin1') > names(tmp) <- c('codigo', 'valor', 'ponderador', 'cad') > > equantileByCounts <- function(x, counts, qs){ > tot <- sum(counts) > i <- order(x) > x <- x[i] > counts <- counts[i] > partial <- cumsum(counts) > qsObs <- qs*tot > start <- floor(qsObs) > end <- ceiling(qsObs) > i <- length(qs) > res <- sapply(1:i, > function(.x, start, end, x){ > coord <- c(start[.x], end[.x]) > bins <- c(1, partial) > grps <- cut(coord, bins, labels=FALSE, include.lowest=T) > mean(x[grps]) > }, start=start, end=end, x=x) > names(res) <- names(qs) > return(res) > } > > res <- do.call(rbind, > lapply(split(tmp, tmp$codigo), > function(y) > quantileByCounts(y$valor, y$ponderador, c(.25, .75)))) > ## FIM > > 2011/7/2 Carlos Mendonça <[email protected]>: >> Estou com problema para utilizar a minha base de dados(.mdb). Ela tem em >> torno de 2 milhões de registros, e >>> >>> >>> quando tento executar aparece um erro de falta de memória ("Erro: não é >>> possível alocar vetor de tamanho 1.1 Gb"). >>> Como posso resolver essa questão? >> >> >> Coloquei um exemplo reproduzivel, inclusive com a leitura de dados. >>> >>> Criei um arquivo com parte da minha base de dados. O link é >>> http://www.datafilehost.com/download-529c5b03.html >>> >>> O código que eu estou utilizando está no link >>> http://www.datafilehost.com/download-a5b8a3ca.html >>> Obrigado, >>> Carlos Mendonça. >> >> _______________________________________________ >> R-br mailing list >> [email protected] >> 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. >> > > > > -- > Successful people ask better questions, and as a result, they get > better answers. (Tony Robbins) > -- Successful people ask better questions, and as a result, they get better answers. (Tony Robbins) _______________________________________________ R-br mailing list [email protected] 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.
