Carlos Santos
2020-Dec-13 11:33 UTC
[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]]
Carlos Ortega
2020-Dec-13 11:49 UTC
[R-es] Como puedo reducir el tiempo de ejecución en la siguiente rutina
Hola, Mejor si pones un ejemplo de tu matriz y cuentas lo que quieres hacer... El enfoque puede ser muy diferente al que has planteado. Gracias, Calros Ortega www.qualityexcellence.es El dom, 13 dic 2020 a las 12:33, Carlos Santos (<carlossantos.csm en gmail.com>) escribió:> 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]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]