es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo forzar a R a ejecutar lo que está dentro de comillas?

Tengo un vector de valores, donde cada elemento está entre comillas “…”
Lo que quiero es que R se deshaga de las comillas y ejecute lo que hay dentro.
En mi caso particular, lo que tengo entre comillas son elementos dentro de una lista enorme.
Observa el siguiente ejemplo:
El primer elemento es “list_jsons[[1]][‘description’]$description$title”.
Naturalmente, si copio y luego pego:
“list_jsons[[1]][‘description’]$description$title”
en la Consola, obtengo lo que quiero, la salida.
Pero lo que quiero es automatizar eso.
Hasta ahora, intenté el comando glue(), que elimina las comillas. Así que intenté glue(glue(list_……))

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en R y Rlang, puedes usar la función eval() para ejecutar el código dentro de las comillas y eliminar las comillas. Aquí tienes un ejemplo de código:

    # define el vector de elementos en comillas
    my_vec <- c("\"list_jsons[[1]][ 'description' ]$description$title\"",
                "\"list_jsons[[2]][ 'description' ]$description$title\"",
                "\"list_jsons[[3]][ 'description' ]$description$title\"")
    
    # recorre el vector y ejecuta el código dentro de las comillas
    for (elem in my_vec) {
      result <- eval(parse(text=elem))
      print(result)
    }
    

    Este código eliminará las comillas y ejecutará el código dentro de ellas para cada elemento en el vector my_vec. La función parse() convierte la cadena en una expresión y la función eval() la ejecuta. Ten en cuenta que este enfoque asume que el código dentro de las comillas está bien formado y seguro de ejecutar.

Comments are closed.