[R-es] Como puedo reducir el tiempo de ejecución en la siguiente rutina
Carlos Santos
c@r|o@@@nto@@c@m @end|ng |rom gm@||@com
Dom Dic 13 12:33:17 CET 2020
Buen dia,
Tengo un problema cuando ejecuto la siguiente rutina, porque con una matriz
muy grande el tiempo de ejecución se va a bastantes horas.
Cualquier idea para mejorarlo y reducir significativamente el tiempo,
estaría muy agradecido
Muchas gracias por vuestra ayuda
#_____________________________________________________________________________________
f5 <- function(x){data1 %>% filter(Clus.Multi.OPTIMO %in%
c(EMISOR,RECEPTOR[x])) %>%
dplyr::select(1:numvar+1) %>% data.matrix() %>% CohenD()}
#
______________________________________________________________________________________
fila = 1
rr = nrow(data2)
repeat{
smc <-
sum(data2[fila,((2+fila):(nrow(data2)+2))]==max(data2[fila,((2+fila):(nrow(data2)+2))]))
EMISOR <- data2[fila,1]$Var
RECEPTOR <-
data2[which(as.vector(t(data2[fila,])[,1])==max(data2[fila,((2+fila):(nrow(data2)+2))]))-2,1]$Var
Rmax <- RECEPTOR[mclapply((1:smc),f5) %>% unlist() %>% which.max()]
data1$Clus.Multi.OPTIMO[which(data1$Clus.Multi.MAX ==
data2[fila,1]$Var)] <- Rmax
fila = fila + 1
if (fila == rr) {break}
}
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
Libre
de virus. www.avast.com
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
[[alternative HTML version deleted]]
Más información sobre la lista de distribución R-help-es