Skip to content
Back to formatted view

Raw Message

Message-ID: <CAASO=wCgFc40RO3sx0Wmq+b3zsHAa_QqiQMf9FMtKxS8=ah9uQ@mail.gmail.com>
Date: 2020-12-13T11:33:17Z
From: Carlos Santos
Subject: [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>

	[[alternative HTML version deleted]]