Operadores de asignación en R (3 ejemplos) | Comparando = contra <- contra <<-

Se el primero en calificar

En esta página, aprenderá cómo aplicar los diferentes operadores de asignación en el lenguaje de programación R.

El contenido del artículo se estructura de la siguiente manera:

¡Vamos a sumergirnos directamente en la sintaxis de R que ejemplifica!

Ejemplo 1: Por qué debería usar <- en lugar de = en R

En términos generales, existe una preferencia en la comunidad de programación R de usar una flecha (es decir, <-) en lugar de un signo igual (es decir, =) para la asignación.

En mi opinión, tiene mucho sentido ceñirse a esta convención para producir scripts que sean fáciles de leer para otros programadores de R.

Sin embargo, también debe tener cuidado con el espaciado al asignar en R. El espaciado falso puede incluso generar mensajes de error .

Por ejemplo, el siguiente código R comprueba si x es menor que menos cinco debido al falso espacio en blanco entre < y -:

my_object1 <  - 5                 # Los espacios importan 
# Error: objeto 'my_object1' no encontrado

Una asignación que funcione correctamente podría tener el siguiente aspecto:

my_object2 <- 5                   # Difícil de leer 
my_object2                      # Imprimir salida 
# 5

Sin embargo, este código es difícil de leer, ya que el espacio que falta dificulta la diferenciación entre los diferentes símbolos y números.

En mi opinión, la mejor forma de asignar en R es dejar un espacio en blanco antes y después de la flecha de asignación:

my_object3 <-  5                 # Fácil de leer 
my_object3                      # Salida de impresión 
# 5

Como se mencionó anteriormente, la diferencia entre <- y = se debe principalmente al estilo de programación . Sin embargo, el siguiente código R que usa un signo igual también funcionaría:

my_object4 =  5                  # Código no convencional 
my_object4                      # Salida de impresión 
# 5

En el siguiente ejemplo, mostraré una situación en la que <- y = no conducen al mismo resultado. ¡Así que sigue leyendo!

Ejemplo 2: cuando <- es realmente diferente en comparación con =

En este ejemplo, ilustraré algunas diferencias sustanciales entre las flechas de asignación y los signos de igual.

Supongamos que queremos calcular la media de un vector que va de 1 a 5. Entonces, podríamos usar el siguiente código R:

media ( x =  1 : 5 )                   # NO guarda valores en x 
# 3

Sin embargo, si queremos echar un vistazo al vector x que hemos usado dentro de la función media, obtenemos un mensaje de error:

x
 # Error: objeto 'x' no encontrado

Comparemos esto exactamente con el mismo código R pero con una flecha de asignación en lugar de un signo igual:

media ( x <-  1 : 5 )                  # Guarda valores en x 
# 3

La salida de la función media es la misma. Sin embargo, la flecha de asignación también almacenó los valores en un nuevo objeto de datos x:

x                               # Imprimir x 
# 1 2 3 4 5

Este ejemplo muestra una diferencia significativa entre = y <-. Mientras que el signo igual no almacena los valores usados ​​fuera de una función, la flecha de asignación los guarda en un nuevo objeto de datos que se puede usar fuera de la función.

Ejemplo 3: La diferencia entre <- y <<-

Hasta ahora, solo hemos comparado <- y =. Sin embargo, hay otro método de asignación que tenemos que analizar: la flecha de asignación doble <<- (también llamada asignación de alcance).

El siguiente código ilustra la diferencia entre <- y <<- en R. Esta diferencia se hace visible principalmente cuando se aplican funciones definidas por el usuario .

Vamos a crear manualmente una función que contenga una sola flecha de asignación:

my_fun1 <- function ( )  {         # Función definida por el usuario con <- 
  x_fun1 <-  5 
}

Ahora, apliquemos esta función en R:

my_fun1 ( )                       # Ejecutar función con <-

El objeto de datos x_fun1, al que le hemos asignado el valor 5 dentro de la función, no existe:

x_fun1                          # Devuelve la salida de la función con <- 
# Error: objeto 'x_fun1' no encontrado

Hagamos lo mismo con una flecha de doble asignación:

my_fun2 <- function ( )  {         # Función definida por el usuario con <<- 
  x_fun2 <<-  5 
}

Apliquemos la función:

my_fun2 ( )                       # Ejecuta la función con <<-

Y ahora devolvamos el objeto de datos x_fun2:

x_fun2                          # Devuelve la salida de la función con <<- 
# 5

Como puede ver en base a la salida anterior de la consola de RStudio, la asignación a través de << guardó el objeto de datos en el entorno global fuera de la función definida por el usuario.

Vídeo y recursos adicionales

Recientemente publiqué un video en mi canal de YouTube , que explica la sintaxis R de este tutorial. Puedes encontrar el video a continuación:

El video de YouTube se agregará pronto.

Además del video, puedo recomendarle que eche un vistazo a los otros artículos en este sitio web.

En resumen: aprendiste en esta página cómo usar operadores de asignación en el lenguaje de programación R. Si tiene más preguntas, hágamelo saber en los comentarios.

asignación-operadores-en-r

Cómo usar diferentes operadores de asignación en R – 3 ejemplos de programación R – Tutorial del lenguaje de programación R – Sintaxis de programación procesable R en RStudio

Alejandro Lugon Administrator

Alejandro Lugón es un economista y escritor especializado en Python y R, conocido por ser el creador del blog Estadisticool. Nacido enxico, Lugón se graduó de la Universidad Autónoma dexico con una Licenciatura en Economía. Desde entonces ha trabajado como economista en varias empresas. Lugón también ha escrito varios libros sobre temas relacionados con la economía, el análisis de datos y la programación. Su blog Estadisticool se ha convertido en un lugar de referencia para los programadores de Python y R. Alejandro Lugón es una inspiración para aquellos que buscan aprender programación y análisis de datos. Su trabajo ha ayudado a muchas personas a entender mejor el uso de la tecnología para hacer sus trabajos.

En esta publicación de R , aprenderá cómo eliminar un título de leyenda en un gráfico ggplot2 .El contenido se…