Hola:

Me contesto a mi mismo con una posible solución:

---------------------------
library (MASS); data(Aids2, package = "MASS");DADES<-Aids2
detach ("package:MASS", unload<-TRUE)
LN <- function (X) {
        X <- log (X)
        X
}
XVARL  = c ("diag",    "death")
XVARLf = paste(XVARL, "_LN", sep = "")  # 
https://stackoverflow.com/questions/14872081/adding-a-prefix-to-column-names
DADES [XVARLf] <- c (lapply(DADES [XVARL], LN))
str (DADES)
---------------------------

Igual existe una solución mejor, pero esta parece funcionar.

Muchas gracias y saludos. Griera.

On Mon, 20 Nov 2017 12:46:11 +0100
Griera-yandex <gri...@yandex.com> wrote:

> Hola, buenos días:
> 
> Habitualmente transformo varias variables mediante la función lapply de la 
> forma siguiente:
> 
> ---------------
> library (MASS); data(Aids2, package = "MASS");DADES<-Aids2
> detach ("package:MASS", unload<-TRUE)
> LN <- function (X) {
>    X <- log (X)
>    X
> }
> XVARL <- c ("diag", "death")
> DADES [XVARL] <- lapply(DADES [XVARL], LN)
> ---------------
> 
> El problema con este código es que pierdo la variable original. Intento 
> cambiar la variable original (añadiendo el sufijo «_LN» al nombre original) 
> mediante el código:
> 
> ---------------
> LN <- function (X) {
>    X <- log (X)
>    X
> }
> XVARL <- c ("diag", "death")
> DADES [[paste (deparse (substitute (XVARL)), "_LN", sep = "")]] <- 
> lapply(DADES [XVARL], LN)
> ---------------
> 
> que, evidentemente, no funciona (el código es fruto de una importante 
> empanada mental con R):
> 
> ---------------
> > DADES [[paste (deparse (substitute (XVARL)), "_LN", sep = "")]] <- 
> > lapply(DADES [XVARL], LN)   
> Error in `[[<-.data.frame`(`*tmp*`, paste(deparse(substitute(XVARL)), : 
> replacement has 2 rows, data has 2843
> ---------------
> 
> Alguien me podría echar una mano para poder transformar las variables sin 
> perder las originales. De momento lo hago creándolas previamente. Pero 
> buscaba una forma de ahorrármelo.
> 
> Muchas gracias y saludos. Griera.

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

Responder a