Skip to content
Prev 14223 / 15379 Next

[R-es] Como puedo reducir el tiempo de ejecución en la siguiente rutina

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>