hola, necesitaria saber como puedo encontrar un valor que cumple una condicion. El problema es: 1) tengo una matriz (2 x 5), en la primera columna tengo los numeros 1,2,3,4,5. En la segunda tengo los numeros 0.2, 0.4, 0.6, 0.8, 1. 2) quiero que el algoritmo devuelva el menor numero de la primera columna que cumple que el valor de la segunada columna es mayor o igual a 0.6, es decir el número 3. Alguien sabe como hacerlo? [[alternative HTML version deleted]]
A ver si te vale: matriz <- matrix(c(1:5,0.2,0.4,0.6,0.8,1.2), nrow=5, ncol=2) matriz[min(which(matriz[, 2]>=0.6)),1] Isidro Hidalgo Arellano Observatorio Regional de Empleo Consejería de Empleo y Economía ihidalgo en jccm.es http://www.jccm.es> -----Mensaje original----- > De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r- > project.org] En nombre de Antoni Ferri Vidal > Enviado el: jueves, 21 de marzo de 2013 12:33 > Para: r-help-es en r-project.org > Asunto: [R-es] algoritmo de busqueda condicionada > > > hola, necesitaria saber como puedo encontrar un valor que cumple una > condicion. El problema es: 1) tengo una matriz (2 x 5), en la primera > columna tengo los numeros 1,2,3,4,5. En la segunda tengo los numeros > 0.2, 0.4, 0.6, 0.8, 1. 2) quiero que el algoritmo devuelva el menor > numero de la primera columna que cumple que el valor de la segunada > columna es mayor o igual a 0.6, es decir el número 3. Alguien sabe > como hacerlo? > > > [[alternative HTML version deleted]]
Antoni, Intenta lo siguiente: # opcion 1 m <- cbind(1:5, c(0.2, 0.4, 0.6, 0.8, 1.2)) m m[ m[,2] >= 0.6, ] m2 <- m[ m[,2] >= 0.6, ] m2[which.min(m2[,1]), ] m2[which.min(m2[,1]), 1] # opcion 2 colnames(m) <- c(''index'', ''value'') d <- data.frame(m) d2 <- subset(d, value >= 0.6 ) d2 subset(d2, index == min(index), select = index) Saludos, Jorge.- 2013/3/21 Antoni Ferri Vidal <>> > hola, necesitaria saber como puedo encontrar un valor que cumple una > condicion. El problema es: 1) tengo una matriz (2 x 5), en la primera > columna tengo los numeros 1,2,3,4,5. En la segunda tengo los numeros 0.2, > 0.4, 0.6, 0.8, 1. 2) quiero que el algoritmo devuelva el menor numero de la > primera columna que cumple que el valor de la segunada columna es mayor o > igual a 0.6, es decir el número 3. Alguien sabe como hacerlo? > > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]