[R-es] Expresión en un objeto

Isidro Hidalgo Arellano |h|d@|go @end|ng |rom jccm@e@
Vie Ago 11 11:16:34 CEST 2023


A ver... con que xfunc() esté preparada para tomar un parámetro de tipo "carácter" y evaluarlo, claro que se puede hacer...
Si el problema lo tienes en evaluar la expresión, la función "eval()" te lo hace.
Si no te he entendido bien, explícate más 😊
Saludos
Isidro


-----Mensaje original-----
De: R-help-es <r-help-es-bounces using r-project.org> En nombre de Griera
Enviado el: jueves, 10 de agosto de 2023 19:36
Para: r-help-es using r-project.org
Asunto: [R-es] Expresión en un objeto

Hola a todos:

Se me ha planteado un problema que no está ligado a ningún problema concreto. Es más teórico. 

Supongamos que tenemos tres variables:

V1  <- c (47, 71,  41,  23,  83, 152,  82,   8, 160,  18)
V2a <- c (NA, 36,  15,   5,  56,  18,  NA,   5,  NA,   5)
V2b <- c (37, NA,  15,  NA,  NA,  NA,  90,  NA,  161, NA)

Supongamos que tengo la expresión (que no puedo asignarlo a ninguna variable):

(ifelse (is.na (V2a) & ! is.na (V2b), V2b,  V2a))

Supongamos que tengo que utilizar esta expresión dos o más veces y no puedo utilizar ni un xapply () ni un bucle. Por ejemplo:

V3 <- (((ifelse (is.na (V2a) & ! is.na (V2b), V2b,  V2a)) - V1)/V1)*100
V4 <-	ifelse (! is.na ((((ifelse (is.na (V2a) & ! is.na (V2b),
V2b,  V2a))-V1)/V1)*100), ifelse ((((ifelse (is.na (V2a) & ! is.na (V2b), V2b,  V2a))-V1)/V1)*100 > 0, "1", "0"), NA)

Hay alguna forma de almacenar la expresión "(ifelse (is.na (V2a) & !
is.na (V2b), V2b,  V2a))" en un objeto y utilizar el nombre del objeto en las ordenes (por ejemplo, con una hipotética función xfunc ()). Por
ejemplo:

ORD <- "(ifelse (is.na (V2a) & ! is.na (V2b), V2b,  V2a))"
V3 <- ((xfunc (ORD) - V1)/V1)*100
V4 <-	ifelse (! is.na (((xfunc (ORD)-V1)/V1)*100), ifelse
(((xfunc (ORD)-V1)/V1)*100 > 0, "1", "0"), NA)


El ejemnplo és absurdo, pero solo lo presento como un hipotético ejercicio.

Muchas gracias por la ayuda.

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


Más información sobre la lista de distribución R-help-es