[R-es] conocer los mínimos

Marcuzzi, Javier Rubén javier.ruben.marcuzzi en gmail.com
Jue Abr 26 06:23:06 CEST 2012


Jorge

Muchas gracias, ahora entiendo como usar ave, hoy me equivoqué tanto con eso.

En otro lado de mi código y funcionando tengo out <- ave(Serv$Ini_Serv, list(Serv$RP), FUN = foo), no entendía como con algo más sencillo no podía, y era solo with(datos, ave(Edad, Animal, FUN = min))

Me llama la atención su eficiencia, resolver mi problema con 8 palabras, yo use más de 20 (descontando mis errores y barbaridades de código).

Nuevamente, gracias.

Javier

From: Jorge I Velez 
Sent: Thursday, April 26, 2012 12:58 AM
To: Marcuzzi, Javier Rubén 
Cc: R-help-es en r-project.org 
Subject: Re: [R-es] conocer los mínimos

Javier,

O simplemente


Animal <- c('A','A','A','B','B','C','D','D')
Edad <- c(2,3,4,3,4,2,4,5)
datos <- data.frame(Animal, Edad)
datos$nueva_edad <- with(datos, ave(Edad, Animal, FUN = min))
datos


Saludos,
Jorge.-



2012/4/25 Marcuzzi, Javier Rubén <>

  Encontré mi error, ahora funciona perfecto, 

  Animal <- c('A','A','A','B','B','C','D','D')
  Edad <- c(2,3,4,3,4,2,4,5)
  datos <- data.frame(Animal, Edad)
  m_m <- with(datos, tapply(Edad, Animal, function(x){
    minimo <- min(x)
    valor <- length(x)
    rep(minimo, valor)
  }))
  datos$repetido <- do.call(c, m_m)
  datos

  From:  
  Sent: Wednesday, April 25, 2012 6:37 PM
  To: R-help-es en r-project.org 
  Subject: conocer los mínimos

  Esperando que llegue el correo, les pregunto

  Deseo tener una columna en un data.frame donde obtengo una edad de inicio que queda constante, según el siguiente ejemplo:

  Animal <- c('A','A','A','B','B','C','D','D')
  Edad <- c(2,3,4,3,4,2,4,5)
  datos <- data.frame(Animal, Edad)
  datos
  # el número menor en Edad es el que interesa (edad de inicio)
  Edad_Inicio_quiero <- c(2,2,2,3,3,2,4,4)
  datos_final_deberia <- data.frame(datos, Edad_Inicio_quiero)
  datos_final_deberia

  Se me ocurre plantear la siguiente forma para resolverlo, pero tengo problemas, según la siguiente captura de pantalla.


  Por lo que veo, al utilizar min(x) elimino valores, cosa que no evito con mis if. ¿Como podría hacer?

  Javier

  _______________________________________________
  R-help-es mailing list
  R-help-es en r-project.org
  https://stat.ethz.ch/mailman/listinfo/r-help-es


------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20120426/0d0724e8/attachment-0001.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: no disponible
Type: image/png
Size: 92806 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20120426/0d0724e8/attachment-0001.png>


Más información sobre la lista de distribución R-help-es