[R-es] Conservar el nombre de la variable entre varias funciones
Griera
griera en yandex.com
Lun Jul 13 15:33:46 CEST 2015
Hola:
Con esto del R me da la impresión que avanzo un paso y retrocedo dos!
El caso es que tengo una "cascada de funciones", para realizar un análisis descriptivo "automático" en función del tipo de variable. Y en los resultados, en lugar de aparecer el nombre de la variable, aparece el nombre del argumento. Esto ocurre tanto si utilizo o no la función get().
Un ejemplo resumen reproducible:
=============================
# Con la función get()
A <- function (XVD, XVI, XDATOS)
{
attach(XDATOS)
B(XVD, XVI)
detach(XDATOS)
}
B <- function (XVD, XVI)
{
TBL = xtabs(~get(XVD) + get(XVI))
print(TBL)
print(summary(TBL))
}
DATOS <- data.frame(SE=c("M", "H", "M", "M", "H"),
EDAD=c(50, 60, 20, 18, 30),
GRP=c("B", "B", "A", "A", "B"))
A("GRP", "SE", DATOS)
La tabla que imprime és:
get(XVI)
get(XVD) H M
A 0 2
B 2 1
Sin la función get():
=============================
# Sin la función get()
A <- function (XVD, XVI, XDATOS)
{
attach(XDATOS)
B(XVD, XVI)
detach(XDATOS)
}
B <- function (XVD, XVI)
{
TBL = xtabs(~XVD + XVI)
print(TBL)
print(summary(TBL))
}
A(GRP, SE, DATOS)
La tabla que imprime és:
> A(GRP, SE, DATOS)
XVI
XVD H M
A 0 2
B 2 1
=============================
Alguien puede orienter-me como solucionarlo y que en los resultados aperzca el nombre de la variable en lugar del argumento de la función?
Muchas gracias y saludos.
Más información sobre la lista de distribución R-help-es