r-help-es en mmmmarascio.xyz
2015-Apr-20 17:04 UTC
[R-es] Función para hacer productos de dos listas (sin NA)
> Date: Sun, 19 Apr 2015 10:27:02 +0200 > From: Gemma Ruiz-Olalla <gemma.ruizolalla en gmail.com> > To: r-help-es en r-project.org > Subject: [R-es] Función para hacer productos de dos listas (sin NA) > Message-ID: > <CAALuvnX_EaPAJ2xN2efAcYwSbUwUVyFYp4oJV5FgRM9YoEM8Vg en mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > Buenos días, > > Necesitamos encontrar una función que haga el producto (valor por valor) de > dos listas, pero que nos permita no tener en cuenta los NA. Por ejemplo, > igual que sum() permite añadir como parámetro el na.rm=T, la función que > buscamos nos debería permitir también añadir este parámetro. Hemos > encontrado el prod() pero sólo nos da un único valor y necesitamos el > producto de cada valor de la lista por la otra (necesitamos una lista de > valores resultantes). > > ¿Alguien nos puede ayudar?Multiplicar un número por NA devuelve NA, sin error. (lista.1 <- list(1:10, 10:1, rep(c(NA, 1:5), 25))) (lista.2 <- list(10:1, 1:10, 2)) mapply(`*`, lista.1, lista.2) Esto conlleva un aviso si las listas mismas no son igual de largas. (lista.1[[length(lista.1) + 1]] <- rnorm(100)) mapply(`*`, lista.1, lista.2) Espero que le sirva de algo.> Muchas gracias, > > Gemma >