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