[R-es] Sacar el número de vez que ocurre algo
Carlos Ortega
cof en qualityexcellence.es
Vie Sep 30 19:10:58 CEST 2016
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.fernandez en 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 <onunez en unex.es>
> Enviado: viernes, 30 de septiembre de 2016 16:47
> Para: Jesús Para Fernández
> Cc: r-help-es en 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.fernandez en hotmail.com>
> Para: r-help-es en 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 en 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 en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
[[alternative HTML version deleted]]
Más información sobre la lista de distribución R-help-es