studiodio org for r r-faq

org - ¿Qué significa "Error: objeto ''<myvariable>'' no encontrado"?



r studiodio (4)

Recibí el mensaje de error:

Error: objeto ''x'' no encontrado

O una versión más compleja como

Error en mean (x): error al evaluar el argumento ''x'' al seleccionar un método para la función ''mean'': Error: objeto ''x'' no encontrado

¿Qué significa esto?


Analicemos por qué se puede arrojar un error de "objeto no encontrado" en R además de explicar lo que significa. Lo que significa (para muchos) es obvio: la variable en cuestión, al menos según el intérprete de R, aún no se ha definido, pero si ve su objeto en su código, puede haber múltiples razones por las cuales esto está sucediendo:

  1. Verifique la sintaxis de sus declaraciones. Si escribió incorrectamente incluso una letra o utilizó mayúsculas en lugar de minúsculas en una declaración de llamada posterior, entonces no coincidirá con su declaración original y se producirá este error.

  2. ¿Recibes este error en un cuaderno o documento de rebaja? Es posible que simplemente necesite volver a ejecutar una celda anterior que tenga sus declaraciones antes de ejecutar la celda actual donde está llamando a la variable.

  3. ¿Está tratando de tejer su documento R y la variable funciona encontrar cuando ejecuta las celdas, pero no cuando las teje? Si es así, entonces desea examinar el fragmento que proporciono a continuación para detectar un posible efecto secundario que desencadene este error:

    {r sourceDataProb1, echo=F, eval=F} # some code here

El fragmento anterior es del comienzo de una celda de reducción de R. Si eval y echo están configurados en False, esto puede provocar un error cuando intentas tejer el documento. Para aclarar. Tuve un caso de uso en el que había dejado estas marcas como False porque pensé que no quería que mi código se repitiera o que sus resultados se mostraran en el HTML de descuento que estaba generando. Pero como la variable se usó en las celdas posteriores, esto causó un error durante el tejido. El simple ensayo y error con los indicadores T / F TRUE / FALSE puede establecer si esta es la fuente de su error cuando ocurre al tejer un documento de reducción de R de RStudio.

Por último: ¿eliminó la variable o la borró de la memoria después de declararla?

  • rm () elimina la variable
  • Al presionar el icono de la escoba en la ventana de entorno de RStudio, se aclara todo en el entorno de trabajo actual
  • ls () puede ayudarlo a ver qué está activo en este momento para buscar una declaración faltante.
  • existe ("x"): como se menciona en otro póster, puede ayudarlo a probar un valor específico en un entorno con una larga lista de variables activas

El error significa que R no pudo encontrar la variable mencionada en el mensaje de error.

La forma más fácil de reproducir el error es escribir el nombre de una variable que no existe. (Si ya ha definido x , use un nombre de variable diferente).

x ## Error: object ''x'' not found

La versión más compleja del error tiene la misma causa: llamar a una función cuando x no existe.

mean(x) ## Error in mean(x) : ## error in evaluating the argument ''x'' in selecting a method for function ''mean'': Error: object ''x'' not found

Una vez que la variable ha sido definida, el error no ocurrirá.

x <- 1:5 x ## [1] 1 2 3 4 5 mean(x) ## [1] 3

Puede verificar si una variable existe usando ls o exists .

ls() # lists all the variables that have been defined exists("x") # returns TRUE or FALSE, depending upon whether x has been defined.

Errores como este pueden ocurrir cuando está utilizando una evaluación no estándar. Por ejemplo, cuando se usa el subset , el error ocurrirá si el nombre de una columna no está presente en el marco de datos para subconjunto.

d <- data.frame(a = rnorm(5)) subset(d, b > 0) ## Error in eval(expr, envir, enclos) : object ''b'' not found

El error también puede ocurrir si usa una evaluación personalizada.

get("var", "package:stats") #returns the var function get("var", "package:utils") ## Error in get("var", "package:utils") : object ''var'' not found

En el segundo caso, la función var no se puede encontrar cuando R busca en el entorno del paquete utils porque utils está más abajo en la lista de search que las stats .

En casos de uso más avanzados, es posible que desee leer:


Mientras ejecuta múltiples líneas de código en R, primero debe seleccionar todas las líneas de código y luego hacer clic en "Ejecutar". Este error generalmente aparece cuando no seleccionamos nuestras declaraciones y hacemos clic en "Ejecutar".


Tuve un problema similar con R-studio. Cuando intenté hacer mis tramas, este mensaje aparecía.

Finalmente, me di cuenta de que la razón detrás de esto era que mi "ventana" para las parcelas era demasiado pequeña, ¡y tenía que hacerla más grande para "encajar" todas las parcelas dentro!

Espero ayudar