[R-br] Evolução de elementos em grupos
Roney Fraga Souza
roneyfraga em gmail.com
Segunda Junho 9 12:43:49 BRT 2014
Pessoal, bom dia!
Estou com um pequeno problema de tempo de processamento e gostaria da opinião de vocês para verificar se é possível diminuí-lo.
A questão que busco solucionar é a mesma descrita na primeira mensagem desse post. Com a ajuda de Éder o problema foi previamente solucionado, contudo, agora estou com uma base de dados maior e o tempo de processamento explodiu.
Segue uma versão pequena dos dados para teste.
Link para download.
https://dl.dropboxusercontent.com/u/61883020/ver2.RData
Att
Roney
###
### início do código
###
load(‘ver2.RData’)
grupo <- list()
#
system.time({
for(k in 2:length(a)){
grp <- sort(unique(c(ver2[[k-1]]$grupo, ver2[[k]]$grupo))) ### qtde de grupos
# criando os objetos
RES <- LAB <- list()
for (i in grp) {
for (j in grp) {
RES <- append(RES,list(
subset(ver2[[k-1]]$name, ver2[[k-1]]$grupo==i) %in%
subset(ver2[[k]]$name, ver2[[k]]$grupo==j)))
LAB <- append(LAB, paste(i,j, sep='-'))
grupo[[k]] <- subset(
data.frame(
label=sapply(LAB, "["),
qtde=sapply(RES, sum)),
qtde>0
)
}}
grupo[[k]]$tm1.grupo <- as.numeric(gsub('-.*','',grupo[[k]]$label))
grupo[[k]]$tm1.ano <- min(ver2[[k]]$year)+k-2
grupo[[k]]$t.grupo <- as.numeric(gsub('^.-','',grupo[[k]]$label))
grupo[[k]]$t.ano <- min(ver2[[k]]$year)+k-1
}
})
###
### fim do código
###
Mais detalhes sobre a lista de discussão R-br