[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