Volver al Blog
Blog

Aprendiendo R | Parte 2 | Variables y Funciones

Dec 10, 2020·5 min read·Palomi Jain
#Data Analytics#Data Science#R#Rstudio
Aprendiendo R | Parte 2 | Variables y Funciones

Aprendiendo R | Parte 2 | Variables y Funciones


Variables

  • x <- (1:10)
  • x = (1:10)
  • (1:10) -> x
  • assign("x", 1:10)

Todas las formas anteriores asignan un arreglo del 1 al 10 a la variable x.

Estos son los operadores de asignación =, ->, <- .

Otra función común para crear un vector o una lista es la función c(…).

  • c(1,10:13) El resultado sería un arreglo 1 10 11 12 13. Esto significa la fusión de objetos/variables separados por comas.
  • c(1:5, 10.5, "next") El resultado sería un arreglo "1" "2" "3" "4" "5" "10.5" "next".
  • y = c(1,2,3) & x = c(y, 1, y) Este es un ejemplo de usar variables para crear nuevas variables. Aquí el valor de y sería 1 2 3 mientras que el de x sería 1 2 3 1 1 2 3.

Para más información sobre el uso de la función c(…) consulta-

función c | Documentación de R Esta es una función genérica que combina sus argumentos. El método predeterminado combina sus argumentos para formar un vector…www.rdocumentation.org

Funciones Integradas

  • c(…) Como se explicó arriba.
  • ls() o objects()Proporciona una lista de objetos existentes que se han creado.
  • rm("x")Elimina un objeto. El parámetro es el nombre del objeto.
  • sum("x")Proporciona la suma del vector x. Por ejemplo, si x es 1 2 3 1 1 2 3 entonces sum("x") sería13.
  • sqrt("x")Proporciona la raíz cuadrada del vector x. Por ejemplo, si x es 1 4 9 entonces sqrt("x") sería otro vector con valores 1 2 3.
  • seq(…)Esta función se usa para generar una secuencia de números. Toma diferentes parámetros como from (Valor inicial de la secuencia), to (Valor final de la secuencia), by (Número por el que se incrementa la secuencia), length.out (Longitud de la secuencia) y along.with (Esta es una lista de vector con longitud n y se usa solo para obtener la longitud de esta lista pasada. Extraño 😷) Ejemplo:- seq(from=1, to=4, by=0.5) — Proporciona una secuencia del 1 al 4 con incremento de 0.5. Más sobre seq(…) aquí.
  • paste(…) Esta función se usa para crear cadenas usando una concatenación de vectores usando 2 parámetros llamados sep & collapse. sep proporciona un separador entre los vectores concatenados mientras que collapse proporciona un separador que concatena los valores en el vector concatenado. (¿Inception? 🤒) Aprendamos con algunos ejemplos. paste("xyz", 1:3)"xyz 1" "xyz 2" "xyz 3" (Esto es sin sep & collapse) paste("xyz", c(1,2,"variable",3), sep=",") "xyz,1" "xyz,2" "xyz,variable" "xyz,3" (Esto es solo con sep ) paste(c(1:5), c(5:10), sep = ": ", collapse = "; ")"1: 5; 2: 6; 3: 7; 4: 8; 5: 9; 1: 10" (Esto es con sep y collapse; Observa que aquí se forma una sola cadena 😄.) Más sobre paste(…) aquí.
  • rep(x, …) Como sugiere el nombre, esta función se usa para repetir el vector existente. Los parámetros que esta función puede tomar son times (Número de veces que el vector debe repetirse), length.out (Longitud deseada del vector de salida) & each (Número de veces que cada elemento del vector debe repetirse) rep(c(1,2,3), 3) or rep(c(1:3), times=3)1 2 3 1 2 3 1 2 3 rep(c(1:3), each=3)1 1 1 2 2 2 3 3 3 Más sobre rep(x, …) aquí.

Funciones Definidas por el Usuario

El siguiente ejemplo muestra una forma simple de escribir una función de una sola línea que devuelve el cuadrado de una variable. El nombre de la función aquí es fn.

fn <- function(a) {a*a}
fn(10)

Ejemplo de un bloque de código en una función.

fn -> function(a, b) {

c = a * b

c = c + b

print(x)

}
fn(10, 20)

Funciones con bucles,if-else.

primeNumber = function(n) {
  if(n>=2) {
    s = seq(2,n)

p = c() #Inicializando el vector que almacena números primos
    for(i in seq(2,n)) {

if(any(s == i) {

p = c(p, i)

s = c(s[(s%%i) != 0], i)

}

}

return(p)

} else {

stop("Entrada mayor que 2")

}

}

El ejemplo anterior devuelve un vector con todos los números primos hasta n pasado a la función. La función stop aquí detiene la ejecución y lanza un error.

El inicial p = c() se usa para inicializar el vector que almacena el número primo. Y s = seq (2,n) se usa para inicializar el vector hasta el cual se itera.

El bucle verifica si el valor está presente en el vector s definido anteriormente usando la función any. Y si coincide, entonces agrega ese valor al vector de números primos y actualiza el vector a verificar, es decir s, con todos los números que no son divisibles por el i actual.

Al final del bucle, el vector p contiene todos los números primos.


Referencias


Gracias por leer. En mi próximo artículo, estaré explicando funciones de gráficos. Además, algunos conocimientos sobre paquetes y conjuntos de datos.

Además, si no has leído la parte 1. Puedes leerla aquí.

Deja tus preguntas a continuación. Las sugerencias son bienvenidas. 🙌