Hola, Un par de formas más de hacerlo cargando paquetes nuevos:
> DF <- read.table(textConnection(Lines), as.is = TRUE, header = T) > library(sqldf) > res_out <- sqldf("Select Referencia, Tiempo, max(Valor) from DF group by Tiempo") > res_out Referencia Tiempo max(Valor) 1 b 1 30 2 b 2 38 3 c 3 63 4 a 4 40 > > > library(data.table) > DT <- as.data.table(DF) > DT[ , .(MaxT = max(Valor)), by="Referencia"] Referencia MaxT 1: a 40 2: b 38 3: c 63 Saludos, Carlos Ortega www.qualityexcellence.es El 30 de septiembre de 2016, 16:56, Jesús Para Fernández < j.para.fernan...@hotmail.com> escribió: > Muchisimas gracias. > > ¿Como puedo tener un nivel mas alto de R? Necesitaria algun curso mas > avanzado. > > Gracias > > Jesús > > > ________________________________ > De: Olivier Nuñez <onu...@unex.es> > Enviado: viernes, 30 de septiembre de 2016 16:47 > Para: Jesús Para Fernández > Cc: r-help-es@r-project.org > Asunto: Re: [R-es] Sacar el número de vez que ocurre algo > > > 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 > Página de Información de R-help-es<https://stat.ethz. > ch/mailman/listinfo/r-help-es> > stat.ethz.ch > Esta es una lista de correo para solicitar ayuda sobre R en español y se > entiende como un complemento social a la documentación, libros, etc. > disponibles sobre R ... > > > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > -- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es