[R-es] Pasar un listado de variables como argumento de una función
Griera
griera en yandex.com
Lun Jul 6 21:59:50 CEST 2015
Hola:
Quiero que una función realice una serie de cálculos pero eliminando las variables que no interesan (diferentes según e fichero a analizar). Intento pasar esta lista como argumento con un c("VAR1", "VAR2", etc), pero no lo consigo. Un ejemplo seria:
DATOS <- data.frame(SE=c("M", "H", "M", "M", "H"),
EDAD=c(50, 60, 20, 18, 30),
GRP_S=c("B", "0", "B", "A", "B"))
DES = function(XDATOS, XDROP=F)
{
print(names(XDATOS))
DATOS_S <- subset(XDATOS, select = -c(XDROP))
}
Sin "" da el error:
> DES(DATOS, c(EDAD, GRP_S))
[1] "SE" "EDAD" "GRP_S"
Error in print(XDROP) : object 'EDAD' not found
Con "" da el error:
> DES(DATOS, c("EDAD", "GRP_S"))
[1] "SE" "EDAD" "GRP_S"
[1] "EDAD" "GRP_S"
Error in -c(XDROP) : invalid argument to unary operator
Alguien me puede echar una mano. Estoy bien perdido.
Gracias y saludos!
Más información sobre la lista de distribución R-help-es