> datos=data.frame(Referencia=rep(letters[1:4],each=4),Tiempo=.1*rep(1:4,4),Valor=rpois(16,20)) > datos Referencia Tiempo Valor 1 a 0.1 19 2 a 0.2 16 3 a 0.3 20 4 a 0.4 15 5 b 0.1 14 6 b 0.2 29 7 b 0.3 19 8 b 0.4 23 9 c 0.1 17 10 c 0.2 22 11 c 0.3 19 12 c 0.4 18 13 d 0.1 20 14 d 0.2 24 15 d 0.3 11 16 d 0.4 19 > max.tiempo=tapply(datos$Valor,datos$Referencia,function(x) > datos$Tiempo[which.max(x)]) > max.tiempo a b c d 0.3 0.2 0.2 0.2 > Un saludo. Olivier
----- Mensaje original ----- De: "Jesús Para Fernández" <j.para.fernan...@hotmail.com> Para: r-help-es@r-project.org Enviados: Viernes, 30 de Septiembre 2016 16:27:52 Asunto: [R-es] Sacar el número de vez que ocurre algo Buenas, Tengo un data.frame con la siguiente esstructura: Referencia Tiempo Valor a 1 15 a 2 25 a 3 28 a 4 40 b 1 30 b 2 38 b 3 32 b 4 31 c 1 29 c 2 24 c 3 63 c 4 24 Quiero obtener como salida para cada referencia en que segundo se alcanza el valor m�ximo, es decir, qu em ede la siguiente respuesta: a 4 40 b 2 38 c 3 63 Para ello he creado el siguiente codigo: maximo<-tapply(datos$Valor,datos$Tiempo,function(x){c(grep(max(datos$Valor),datos$Valor),max(x)}) Pero me devuelve cosas raras. Alguna idea?? gracias!!! [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es