R y RStudio

R es un lenguaje de programación usado para realizar procedimientos estadísticos y gráficos de alto nivel, este lenguaje fue creado en 1993 por los profesores e investigadores Robert Gentleman y Ross Ihaka.

Inicialmente el lenguaje se usó para apoyar los cursos que tenían a su cargo los profesores, pero luego de ver la utilidad de la herramienta desarrollada, decidieron colocar copias de R en StatLib.

RStudio es un entorno de desarrollo integrado (IDE) para el lenguaje de programación R. Su objetivo es proporcionar el entorno informático estadístico R.

Palabras reservadas en RStudio

R tiene palabras reservadas como son los nombres de las instrucciones utilizadas en el lenguaje de programación (break, for, function, if, in, next, repeat, return, while). # Variables y tipos Una variable es un nombre que hace referencia a un valor, al usar (<-) podemos ordenar que una variable tome un cierto valor que nosotros podemos manipular. Por ejemplo:

Naranja <- 5 # Aqui 'Naranja' es el nombre de la variable y '5' es el valor.
Manzana <- 10 # Aqui 'Manzana' es el nombre de la variable y '10' es el valor.
Mandarina <- 9 # Aqui 'Mandarina' es el nombre de la variable y '9' es el valor.

Reglas para definir una varibale:

  1. El nombre de una varibale empieza con una letra o guión abajo, no puede empezar con un número.
  2. Solo puede contener letras mayusculas, minusculas, números y guión abajo.
  3. Es importante recordar que en python los nombres de las variables distinguen entre mayúsculas y minúsculas. Observación: Para nombres de variables de varias palabras, se usan guiones bajos entre palabras (nombre_variable), pero algunos usan “camelCase” (a veces llamado “studlyCaps”) como nombreVariable.

Operaciones aritméticas con variables

Los operadores aritmeticos hacen referencia a la suma, resta, división, multiplicaciónn entre otras mas. Las cuales podemos utilizar en Rstudio para operaciones entre variables.

# Asignamos valores a las varibles 'a' y 'b'. 
a <- 12
b <- 6

Usando el símbolo (+) podemos sumar los valores de distintas varibales.

# Suma
print(paste("Al sumar 'a' y 'b' su resultado es:", a + b))
[1] "Al sumar 'a' y 'b' su resultado es: 18"

Usando el símbolo (-) podemos restar los valores de distintas varibales.

# Resta
print(paste("Al restar 'a' y 'b' su resultado es:", a - b))
[1] "Al restar 'a' y 'b' su resultado es: 6"

Usando el símbolo (*) podemos multiplicar los valores de distintas varibales.

# Multiplicación
print(paste("Al multiplicar 'a' y 'b' su resultado es:", a * b))
[1] "Al multiplicar 'a' y 'b' su resultado es: 72"

Usando el símbolo (/) podemos dividir los valores de distintas varibales.

# División
print(paste("Al dividir 'a' y 'b' su resultado es:", a / b))
[1] "Al dividir 'a' y 'b' su resultado es: 2"

Usando el símbolo (%/%) podemos obtener el cociente de la divisón entre los valores de distintas varibales.

# División de piso
print(paste("Al dividir 'a' y 'b' su cociente es:", a %/% b))
[1] "Al dividir 'a' y 'b' su cociente es: 2"

Usando el símbolo (^) podemor elevar los valores de distintas varibales.

# Exponente
print(paste("Al elevar 'a' con exponente 'b' su resultado es:", a ^ b))
[1] "Al elevar 'a' con exponente 'b' su resultado es: 2985984"

Usando el símbolo (%%) podemos obtener el residuo de la divisón entre los valores de distintas varibales.

# Módulos
print(paste("Al dividr 'a' y 'b' el residuo es:", a %% b))
[1] "Al dividr 'a' y 'b' el residuo es: 0"

Operadores relacionales

Los operadores relacionales se utilizan para comprobar la relación entre los valores. Segun la condición de los operadores estos devuelven como resultado “TRUE (Verdadero)” o “FALSE (Falso)”.

# Asignamos valores a las varibles 'c' y 'd'.
c <- 10
d <- 8
# Igual a relación (c==d)
print(paste("El valor de 'c' es igual al valor de 'd', esto es:", c==d))
[1] "El valor de 'c' es igual al valor de 'd', esto es: FALSE"
# No es igual a la relación (c!=d)
print(paste("El valor de 'c' no es igual al valor de 'd', esto es:", c!=d))
[1] "El valor de 'c' no es igual al valor de 'd', esto es: TRUE"
# Relación menor que (c<d)
print(paste("El valor de 'c' es menor al valor de 'd', esto es:", c<d))
[1] "El valor de 'c' es menor al valor de 'd', esto es: FALSE"
# Relación mayor que (c>d)
print(paste("El valor de 'c' es mayor al valor de 'd', esto es:", c>d))
[1] "El valor de 'c' es mayor al valor de 'd', esto es: TRUE"
# Menor o igual a relación (c<=d)
print(paste("El valor de 'c' es menor o igual al valor de 'd', esto es:", c>d))
[1] "El valor de 'c' es menor o igual al valor de 'd', esto es: TRUE"
# Mayor o igual a relación (c>=d)
print(paste("El valor de 'c' es mayor o igual al valor de 'd', esto es:", c>d))
[1] "El valor de 'c' es mayor o igual al valor de 'd', esto es: TRUE"

Operador de asignación

Para asignar el valor a una variable, utilizamos operadores de asignación. Usando (<-) o (=) asignamos el valor del operando derecho al operando izquierdo.

# Asignar
a <- 12
b = 6

Operadores logicos

Estos operadores se utilizan para combinar expresiones condicionales en RStudio.

# Asignamos valores a las varibles 'a' y 'b'. 
x <- FALSE
z <- TRUE

Usando el símbolo (&) dara como resultado ‘TRUE’ si ambos operado son ‘Verdaderos’ o ‘Falsos’.

# Operador lógico & (y)
print(paste("x y z es:", x & z))
[1] "x y z es: FALSE"

Usando el símbolo (|) dara como resultado ‘TRUE’ si alguno de los resultados es ‘Verdadero’ y ‘Falso’.

# Operador lógico | (o)
print(paste("x o z es:", x | z))
[1] "x o z es: TRUE"

Usando el símbolo (!) dara como resultado ‘TRUE’ si un operando es ‘Falso’ y ‘FALSE’ si un operando es ‘Verdadero’.

# Operador lógico ! (no)
print(paste("no x es:", !x))
[1] "no x es: TRUE"
print(paste("no z es:", !z))
[1] "no z es: FALSE"

Tipos de datos númericos integrados en RStudio

Al trabajar con números, necesitamos tipos de datos numéricos. En RStudio, los números son inmutables. En RStudio tenemos tres tipos de datos numéricos.
1. Numeric: Números reales, es decir números decimales.
2. Integer: Números enteros, es decir números negativos y positivos, se puede expresar de la forma aL.
3. Complex: Números complejos, se pueden expresar de la forma a + bi.

## Ejemplo de tipo de datos Numeric
# Asignamos valores a las varibles 'b1' y 'b2'. 
b1 <- -12.5
b2 <- 6.0
# Comprobar el tipo de variable b1 y b2 
print(paste("El tipo de variable a es:", class(b1)))
[1] "El tipo de variable a es: numeric"
print(paste("El tipo de variable a1 es:", class(b2)))
[1] "El tipo de variable a1 es: numeric"
## Ejemplo de tipo de datos Integer
# Asignamos valores a las varibles 'a1' y 'a2'. 
a1 <- 2L
a2 <- -3L
# Comprobar el tipo de variable a1 y a2 
print(paste("El tipo de variable a es:", class(a1)))
[1] "El tipo de variable a es: integer"
print(paste("El tipo de variable a1 es:", class(a2)))
[1] "El tipo de variable a1 es: integer"
## Ejemplo de tipo de datos Complex
# Asignamos valores a las varibles 'c1'. 
c1 = 5 + 8i
# Comprobar el tipo de variable a1 y a2 
print(paste("El tipo de variable a es:", class(c1)))
[1] "El tipo de variable a es: complex"

Conversión de tipos o conversión de tipos

  1. En Rstudio, se puede convertir los tipos de integer a numeric o numeric a integer o integer a complex usando los métodos integer(), numeric() y complex().
  2. Se puede verificar el tipo de cualquier variable usando el método class(). # Cadenas Las cadenas son una secuencia de caracteres encerrados entre comillas simples, dobles.
    Se utilizan comillas simples y dobles para escribir una cadena de una sola línea..
## Ejemplo de cadenas
cadena1 = 'Esta es una cadena entre comillas simples'
cadena2 = "Esta es una cadena entre comillas dobles"

Accediendo a componentes de cadena

Una cadena en RStudio es un tipo de secuencia, por lo que admite la indexación.
Observación: En RStudio, la indexación comienza desde 1. También admite índices negativos, es decir, -1, -2, etc.; índice -1 significa el último elemento de una cadena, -2 significa el penúltimo carácter de una cadena, y así sucesivamente.

## Asignamos una cadena
lenguaje = "RStudio es una herramienta de programación"
# Imprimir resultados
print(paste("lenguaje[1] es:", lenguaje[1]))
[1] "lenguaje[1] es: RStudio es una herramienta de programación"
print(paste("\nlenguaje[-1] es:", lenguaje[-1]))
[1] "\nlenguaje[-1] es: "

Operaciones de cadena y métodos integrados.

En RStudio para realizar diversas operaciones con cadenas. Algunos de los métodos de cadena más importantes se detallan a continuación:

## Asignamos una cadena
lenguaje = "RStudio es una herramienta de programación"
  1. toupper(): Devuelve una cadena con mayúsculas.
## Convertir todas las letras minúsculas a mayúsculas.
toupper(lenguaje)
[1] "RSTUDIO ES UNA HERRAMIENTA DE PROGRAMACIÓN"
  1. tolower(): Devuelve una cadena con minúsculas.
## Convertir todas las letras mayúsculas a minúsculas.
tolower(lenguaje)
[1] "rstudio es una herramienta de programación"
  1. chartr(): Se usa cuando tenemos que convertir algunos caracteres en mayúsculas y otros en minúsculas.
## Convertir algunas palabras en mayúsculas.
chartr(lenguaje, old="herramienta", new="Herramienta" )
[1] "RStudio es una Herramienta de programación"
  1. strsplit(): Divide una cadena según un separador y devuelve una lista. El separador predeterminado es el espacio en blanco.
## Dividir la cadena en una lista.
strsplit(lenguaje," ")
[[1]]
[1] "RStudio"      "es"           "una"          "herramienta"  "de"          
[6] "programación"

Vectores o Listas

Una lista o vector es una colección ordenada de elementos. Las listas son mutables, lo que significa que podemos actualizar el elemento de la lista a nivel de índice.
Sin embargo, una lista también es un tipo de secuencia, por lo que admite la indexación (darle un orden). Para crear la lista, necesitamos poner elementos dentro de los corchetes ‘c( )’ separándolos con una coma.

frutas <- c("Mandarina", "Ciruela", "Naranaja")
numeros <- c(1, 2, 3, 4, 5, 6, 7, 8)

Acceder a los elementos de la lista

La lista admite la indexación (comenzando desde 1), por lo que, para acceder a los elementos de una lista de RStudio, usaremos el índice de ese elemento. La lista de RStudio también admite la indexación negativa (a partir de -1, el último elemento de la lista de RSTudio).

# Creamos una vector 
paises <- c("Perú", "Brasil", "Colombia", "Ecuador")
# Primer y segundo elemento de la vector con indexación positiva: 
print(paste("El 1er elemento de la lista es:", paises[1]))
[1] "El 1er elemento de la lista es: Perú"
print(paste("El 2do elemento de la lista es:", paises[2]))
[1] "El 2do elemento de la lista es: Brasil"
# Ultimo elemento de la vector con indexación negativa:
print(paste("El ultimo elemento de la lista es:", paises[-1]))
[1] "El ultimo elemento de la lista es: Brasil"  
[2] "El ultimo elemento de la lista es: Colombia"
[3] "El ultimo elemento de la lista es: Ecuador"