[R-es] Pasar un listado de variables como argumento de una función
Carlos Ortega
cof en qualityexcellence.es
Mar Jul 7 00:26:54 CEST 2015
Hola,
Puedes hacerlo de esta otra forma:
#-----------------
DES = function(XDATOS, XDROP) {
#print(names(XDATOS))
#print(XDROP)
DATOS_S <- XDATOS[, setdiff(names(XDATOS), XDROP) ]
return(DATOS_S)
}
DES(DATOS, c("EDAD", "GRP_S"))
#-----------------
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 6 de julio de 2015, 21:59, Griera <griera en yandex.com> escribió:
> 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!
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
[[alternative HTML version deleted]]
Más información sobre la lista de distribución R-help-es