
Oi Manoel. Boa questão!! Gostei da dica do pqr. Não conhecia. Vou dar uma olhada nele. Como eu trabalho com dados geoespaciais (rasters e vetores) não uso read.table ou data.frame.Mas por vezes me vejo forçado a criar data.frames. Por exemplo: No script que estou trabalhando no momento, eu gero um modelo logístico (glm family=binomial) para cada pixel uma imagem de dimensões 200x214x9, tendo como saída os coeficientes, as probabilidades e o valor p. No meio do caminho eu crio um data.frame que armazena o x e o y de cada pixel para dar de entrada no modelo. (snippet do script abaixo). Terias outra opção? Caso queiras me mandar um CMR eu posso fazer uns testes e te mando o system.time. Obrigado pelas observações e pela dica do pqr. Abraços ############## library(raster) library(reshape) library(mailR) library(spatial.tools) # Input Raster floodmaps <- brick("raster.tif") # my raster dim= 200 214 9 names(floodmaps) <- c(27.00,30.02,31.07,32.72,33.73,35.12,35.65,36.06,38.32) # flood heigth at each image band logit.x <- melt(c(27.00,30.02,31.07,32.72,33.73,35.12,35.65,36.06,38.32)) # vector with flood heigths ################################## # # Jackknife # ################################## # creating variables inter.vec <- rep(NA,length(values(floodmaps[[1]]))) # intercept x.vec <- rep(NA,length(values(floodmaps[[1]]))) # x p.vec <- rep(NA, length(values(floodmaps[[1]]))) # p-value err.vec <- rep(NA,ncell(floodmaps[[1]])) # error err.df <- data.frame(pred = rep(1,nbands(floodmaps)),obs = rep(NA,nbands(floodmaps))) # error data.frame #Let's fry baby!! temp <- system.time( for (i in 1:ncell(floodmaps)){ for (b in 1:nbands(floodmaps)){ pixel.df <- data.frame("y" = factor(extract(floodmaps,i)[1,-b]), "x" = unlist(logit.x)[-b]) m <- glm(y ~ x, data=pixel.df, family=binomial) inter.vec[i] <- m$coefficients[1] x.vec[i] <- m$coefficients[2] p.vec[i] <- 1-pchisq(m$null.deviance-m$deviance, m$df.null-m$df.residual) prob <- (exp(inter.vec[i]+x.vec[i]*unlist(logit.x)[b]))/(1 + exp(inter.vec[i]+x.vec[i]*unlist(logit.x)[b])) if (prob < 0.8) err.df$pred[b] = 0 err.df$obs[b] <- floodmaps[[b]][i] } err.vec[i] <- length(which(err.df$pred == err.df$obs))/length(err.df$obs) } ) Abraços Em 21 de outubro de 2014 20:49, Manoel Galdino <mcz.fea@gmail.com> escreveu:
Só um comentário, sobre a eficiência do Revolution R (que nunca usei). Você pode dar detalhes de onde ele é mais rápido? Você usa o data.table? E que tal o pqr <http://www.pqr-project.org/>? Gostaria de ver esses testes com os melhores comandos do R tradicional, e não com comandos lentos como data.frame ou read.table.
abçs M
2014-10-21 21:43 GMT-02:00 Jefferson Ferreira-Ferreira <jecogeo@gmail.com> :
Pessoal,
Muito obrigado pelas respostas. Como sugerido por um dos colegas, vou entrar em contato com o suporte para ver qual o melhor método para paralelizar meu processamento. O fato de eu ter pensado que a paralelização era default é porque quando coloco o script para rodar, aparacem as seguintes mensagens no console:
Carregando pacotes exigidos: parallel Carregando pacotes exigidos: iterators Carregando pacotes exigidos: foreach
No entanto eu não carrego esses pacotes no meu script. Eu vou entrar em contato e ver como fazer de modo mais eficiente.
Para aqueles que ainda não sabem, o Revolution R Enterprise é gratuíto para usuários acadêmicos (professores, alunos, pesquisadores, instituições e organizações públicas). Basta possuir um e-mail institucional. Eu fiz um cadastro e dentro de 2 horas tive ele aprovado com acesso ao software. Estou bastante satisfeito com o desenpenho - que é muito superior ao do R "stand alone". Fiz diversos testes e ele é sempre 2x mais rápido. Além disso sua IDE tem bem mais funcionalidades e é bem mais párática que o RStudio.
Obrigado pelas mensagens. A esse ponto já entendi que a paralelização não é default, embora o desempenho seja bem melhor. Vou buscar suporte.
Abraços
Em 21 de outubro de 2014 20:28, Diogo Ferrari <diogoferrari@gmail.com> escreveu:
Jefferson,
Usei o RevR ha um tempo atras quando precisava manipular uma base de dados muito grande e na época não valia a pena migrar. Não sei na ultima versão, mas ele não paraleliza por default. Vc tem que mandar seu script fazer isso, mas e bem simples. Eu creio que a grande vantagem desse pacote (que e o R, mas com algumas coisas implementadas em Java) e usar em grandes bases para estatística descritiva e regressões simples, embora de para fazer algumas coisas um pouco mais elaboradas. Sugiro que vc procure documentação no próprio site do RevR.
Abs -- Diogo Ferrari PhD Student University of Michigan, Ann Arbor Department of Political Science E-mail: dferrari@umich.edu
Open Source! Use R! Use Linux!
"A vida é a arte de tirar conclusões suficientes de dados insuficientes"
On Oct 21, 2014, at 7:11 PM, Vinicius Brito Rocha < viniciusbritor@gmail.com> wrote:
Não é default. Eles tem um conjunto de bibliotecas similares a algumas conhecidas no R.
Existe um formato para manipulação de dados especial, que parece muito com o data step do SAS, onde é possível manipular dados relativamente grandes. Acredito eu que esse formato seja distribuído.
Alguns dos pacotes podem ser baixados e utilizados no próprio R.
Abs
Vinicius
Em 21 de outubro de 2014 18:53, Benilton Carvalho < beniltoncarvalho@gmail.com> escreveu:
como e' um produto comercial, o melhor e' procurar o suporte deles proprios.
Em 21 de outubro de 2014 13:02, Jefferson Ferreira-Ferreira < jecogeo@gmail.com> escreveu:
Listeiros;
Alguém aí utiliza o Revolution R Enterprise?
Recém o baixei. Li alguns materiais pela internet mas não estou entendendo muito bem se ele paraleliza por "default" ou se preciso usar algo como ParallelR ou doSNOW. Alguém saberia me dizer ou indicar um bom site onde posso me informar melhor sobre isso?
Obrigado. Abraços
--
*Jefferson Ferreira-Ferreira* Geógrafo – GEOPROCESSAMENTO IDSM | Coordenadoria de TI
Jefferson.ferreira@mamiraua.org.br *Instituto de Desenvolvimento Sustentável Mamirauá*
Ministério da Ciência, Tecnologia e Inovação Telefone: +55 97 3343-9710
*Google Maps* - Mapas deste e-mail:
Exibir mapa ampliado <https://maps.google.com.br/maps?q=-3.355557,-64.731151&ll=-3.355471,-64.731145&spn=0.004632,0.006968&num=1&t=h&z=18>
*Contatos particulares:* *(55) 9615-0100 <%2855%29%209615-0100>*
_______________________________________________ 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.
_______________________________________________ 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.
-- *Vinicius Brito Rocha.* *Estatístico e Atuário * *M.Sc. Engenharia de Produção/PO*
*Ph.D. Student in Computer Systems*
_______________________________________________ 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.
_______________________________________________ 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.
--
*Jefferson Ferreira-Ferreira*
Geógrafo – GEOPROCESSAMENTO IDSM | Coordenadoria de TI
Jefferson.ferreira@mamiraua.org.br
*Instituto de Desenvolvimento Sustentável Mamirauá*
Ministério da Ciência, Tecnologia e Inovação
Telefone: +55 97 3343-9710
*Google Maps* - Mapas deste e-mail:
Exibir mapa ampliado <https://maps.google.com.br/maps?q=-3.355557,-64.731151&ll=-3.355471,-64.731145&spn=0.004632,0.006968&num=1&t=h&z=18>
*Contatos particulares:* *(55) 9615-0100 <%2855%29%209615-0100>*
_______________________________________________ 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.
-- Manoel Galdino https://sites.google.com/site/galdinomcz/
_______________________________________________ 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.
-- *Jefferson Ferreira-Ferreira* Geógrafo – GEOPROCESSAMENTO IDSM | Coordenadoria de TI Jefferson.ferreira@mamiraua.org.br *Instituto de Desenvolvimento Sustentável Mamirauá* Ministério da Ciência, Tecnologia e Inovação Telefone: +55 97 3343-9710 *Google Maps* - Mapas deste e-mail: Exibir mapa ampliado <https://maps.google.com.br/maps?q=-3.355557,-64.731151&ll=-3.355471,-64.731145&spn=0.004632,0.006968&num=1&t=h&z=18> *Contatos particulares:* *(55) 9615-0100*