Aritmetica

En R se tienen los siguientes operadores:

Operador Operacion Ejemplo de uso
+ Suma 10 + 2
- Resta 10 - 2
* Multiplicacion 10 * 2
/ Division 10 / 2
^ Potencia 10 ^ 2

Es posible realizar operaciones con datos numericos. En caso de escribir operaciones directo en la consola de R y ejecutarlo, R realizara y devolvera un resultado:

10 + 2
## [1] 12
10 - 2
## [1] 8
10 * 2
## [1] 20
10 / 2
## [1] 5
10 ^ 2
## [1] 100

Ahora una manera de calcular una raiz, seria elevar la base a una potencia fraccion, es decir, \(\sqrt{16} = 16^\frac{1}{2}\), esto en R podria calcularse como:

Operador Operacion Ejemplo de uso
a^(1/n) Radicacion 16^(1/2)

Un ejemplo de lo anterior es:

16^(1/2)
## [1] 4

Objetos basicos

Operador asignacion

Asignar, es quiza el operador mas importante, no solo en R, sino en la programacion, pues mediante este podemos asignar datos o valores a variables u objetos.

Operador Operacion Ejemplo de uso
<- Asignacion a <- 10
= Asignacion a = 10

En algunos foros se debaten las diferencias entre <- y =, pero para efectos practicos los tomaremos como equivalentes.

Tipos de datos

Generalmente existen tipos de datos que son de uso mas comun. Los tipos de datos que se pueden asignar a variables en R, son los siguientes:

Tipo de dato Ejemplo en sitaxis Descripcion
integer 10 Numeros enteros
numeric 10.14 Numeros con decimales
logical TRUE Valores logicos
character "Hola mundo" Cadena de caracteres

Ademas, internamente R posee otros tipos de datos, que son:

Tipo de dato Ejemplo en sitaxis Descripcion
factor nivel Niveles de una variable categorica
NA NA Valor perdido
Nulo NULL Valor nulo

Estructuras de datos y objetos

Las estrucoras de datos que R es capaz de trabajar son varias, a continuacion se enlistas las mas usadas:

Tipo de estructura Sintaxis Ejemplo de uso Descripcion
vector c(1,4,5,6) vec <- c(1,4,5,6) vec es un objeto que contiene un vector con datos tipo numeros enteros
matriz matrix(c(1,4,5,6)) mat <-matrix(c(1,4,5,6)) mat es un objeto que contiene una matriz con datos tipo numeros enteros
data frame data.frame() DF <- data.frame(vec) Los data.frame son conjuntos de varias columnas y varios renglones, que se caracterizan porque cada columna contiene un solo tipo de dato, pudiendo cada columna tener un tipo de datos distinto. En este caso DF es un objeto que contiene un data frame con una sola columna llamada vec que contiene 4 renglones
lista list() L <- list() Las listas son estructuras de datos capacez de contener otras estructuras, y estas a su vez no necesariamente deben de ser del mismo tipo. Por ejemplo L <- list(vec,mat,DF), el objeto L es una lista que contiene en su primer elemento un vector vec, en su segundo elemento una matriz mat y en su tercer elemento un data frame DF

Los ob y en ocasiones cada libreria posee objetos propios, tambien los objetos estan relacionados con los tipos de variables, pues asignar un tipo de variable a un objeto, no es mas que etiquetar, por lo que a continuacion se enlistan algunos comunmente usados:

Operadores logicos

Operador Operacion Ejemplo de uso
& y x & y
| o x | y
! negacion ! x

Operadores comparativos

Operador Operacion Ejemplo de uso Resultado
> Mayor que 10 > 2 TRUE
< Menor que 10 < 2 FALSE
== Igual que 10 == 2 FALSE
>= Mayor igual que 10 >= 2 TRUE
<= Menor igual que 10 <= 2 FALSE
!= Distinto que 10 != 2 TRUE

Importacion de datos

Para importar cualquier tipo de archivo es necesario conocer la ubicacion del mismo, asi como el nombre que se desee importar. Para lo siguiente ejemplos se usara una ruta ficticia en el disco local del computador y un nombre de archivo ficticio.

Importar datos formato csv

# Ruta en la que se encuentra el archivo y nombre del archivo
archivo <- read.csv(file = "C:/Usuario/Documentos/CarpetaEjemplos01/ArchivoFicticio.csv",header = T)

La instruccion read.csv() es una funcion base de R, que permite importar archvos formato .csv, en la funcion se espesifica file para la ruta, incluyendo el nombre del archivo a importar, y header = T para que la primera fila del archivo sea usada como encabezados o nombres de las columas.

Importar datos formato xls o xlsx

Para importar archivos xls o xlsx, que son algunos formatos de Excel, requerimemos una libreria llamda readxl, esta debera instalarse previamente a su uso, la forma de instalarse en con el siguiente script install.package(readxl), despues es posible importar el archivo deseado como se muestra a continuacion:

library(readxl)
# Ruta en la que se encuentra el archivo y nombre del archivo
archivo <- read_xlsx(path = "C:/Usuario/Documentos/CarpetaEjemplos01/ArchivoFicticio.xlsx")

En caso de que el archivo contenga mas de una hoja, entonces se debera espesificar el nombre de la hoja a importar con sheet = "nombre", si no se espesifica se importara la primera hoja del archivo.

Manipulacion de datos

Una vez importados los datos o archivo deseado, podremos trabajar con el desde R. El comando str devuelve la estructura del archivo que se esta usando. Para este ejemplo usaremos datos de la libreria cars. El conjunto de datos se llama cars.

str(cars)
## 'data.frame':    50 obs. of  2 variables:
##  $ speed: num  4 4 7 7 8 9 10 10 10 11 ...
##  $ dist : num  2 10 4 22 16 10 18 26 34 17 ...

La estructura indica, que se trata de un data.frame con 50 observaciones y 2 variables, esto tambien puede interpretarse como 50 renglones y 2 columnas. Tambien indica los nombres de las columas, los cuales son speed y dist, y muestra algunos valores de cada una de ellas.

summary(cars)
##      speed           dist       
##  Min.   : 4.0   Min.   :  2.00  
##  1st Qu.:12.0   1st Qu.: 26.00  
##  Median :15.0   Median : 36.00  
##  Mean   :15.4   Mean   : 42.98  
##  3rd Qu.:19.0   3rd Qu.: 56.00  
##  Max.   :25.0   Max.   :120.00

Lo anterior es un resumen del conjunto de datos cars, que indica para cada variable, el minimo, el primer cuartil, la mediana o segundo cuartil, la media, el tercer cuartil y el maximo.

Eliminar una columna o renglon

Ciclos o bucles

ciclo for

La sintaxis del ciclo for es la siguiente:

for (i in 1:10) {
  # Codigo a repetir
}

aqui i es un indicador del valor de cada iteracion. En este caso i comienza con i=1 y seguira incrementando hasta llegar a i=10, es aqui donde el ciclo termina.

Un ejemplo de como usar el ciclo es:

for (i in 1:10) {
  print(paste("Iteracion",i,"del ciclo for"))
}
## [1] "Iteracion 1 del ciclo for"
## [1] "Iteracion 2 del ciclo for"
## [1] "Iteracion 3 del ciclo for"
## [1] "Iteracion 4 del ciclo for"
## [1] "Iteracion 5 del ciclo for"
## [1] "Iteracion 6 del ciclo for"
## [1] "Iteracion 7 del ciclo for"
## [1] "Iteracion 8 del ciclo for"
## [1] "Iteracion 9 del ciclo for"
## [1] "Iteracion 10 del ciclo for"

ciclo while

La sintaxis del ciclo while es la siguiente:

while (condicion) {
  # Codigo a repetir
}

Este codigo se repetira hasta que la condicion establecida NO se cumple, mientras esta condicion ocurra, el ciclo seguira y seguira. Un ejemplo de como usar el ciclo while es:

i = 1
while (i < 10) {
  print(paste("Iteracion",i,"del ciclo while"))
  i = i+1
}
## [1] "Iteracion 1 del ciclo while"
## [1] "Iteracion 2 del ciclo while"
## [1] "Iteracion 3 del ciclo while"
## [1] "Iteracion 4 del ciclo while"
## [1] "Iteracion 5 del ciclo while"
## [1] "Iteracion 6 del ciclo while"
## [1] "Iteracion 7 del ciclo while"
## [1] "Iteracion 8 del ciclo while"
## [1] "Iteracion 9 del ciclo while"

Aqui la condicion es que i < 10, cuando esta condicion no se cumple, es decir, cuando i >= 10, entonces el ciclo se terminara.

Paquetes o librerias

Los paquetes o librerias son conjuntos de codigos, funciones, datos, y documentacion. Estos paquetes son altamente usado en R.

Instalar librerias

Para instalar una libreria o paquete, se usa la funcion:

install.packages("NombreDeLaLibreria")

Es necesario conocer el nombre de la libreria que se sea instalar.

Un ejemplo de instalacion de una libreria es:

install.packages("ggplot2")

Llamar librerias

Una vez instalada la libreria, para poder usarla primeramente es necesario cargarla o mandarla llamar, esto se hace con la funcion:

library(NombreDeLaLibreria)

Una vez mas, sera necesario conocer el nombre de la libreria que se desea usar.

Un ejemplo del como cargar una libreria es:

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3

Graficos

Existen muchas librerias que pueden ser usadas para generar graficos, como ggplot2 o plotly. Aqui nos centraremos en los graficos basicos base que tiene R por default. ### Graficos basicos Es recomendable pensar en lo graficos como “capas”, es decir, una capa principal y sobre ella otras mas, asi tendremos un grafico principal y sobre el se pueden colocar algunos otros. Usaremos el conjunto de datos cars, para ejemplificar los tipos de graficos que podemos hacer.

plot(cars$speed)

Este es un grafico muy sencillo, en el eje de las X se encuentra un indice, y en el eje de las Y se encuentra la velocidad del auto. Esto es, si enumeraramos los autos del primero al ultimo, como se muestra a continuacion:

cbind(1:length(cars$speed),cars$speed)
##       [,1] [,2]
##  [1,]    1    4
##  [2,]    2    4
##  [3,]    3    7
##  [4,]    4    7
##  [5,]    5    8
##  [6,]    6    9
##  [7,]    7   10
##  [8,]    8   10
##  [9,]    9   10
## [10,]   10   11
## [11,]   11   11
## [12,]   12   12
## [13,]   13   12
## [14,]   14   12
## [15,]   15   12
## [16,]   16   13
## [17,]   17   13
## [18,]   18   13
## [19,]   19   13
## [20,]   20   14
## [21,]   21   14
## [22,]   22   14
## [23,]   23   14
## [24,]   24   15
## [25,]   25   15
## [26,]   26   15
## [27,]   27   16
## [28,]   28   16
## [29,]   29   17
## [30,]   30   17
## [31,]   31   17
## [32,]   32   18
## [33,]   33   18
## [34,]   34   18
## [35,]   35   18
## [36,]   36   19
## [37,]   37   19
## [38,]   38   19
## [39,]   39   20
## [40,]   40   20
## [41,]   41   20
## [42,]   42   20
## [43,]   43   20
## [44,]   44   22
## [45,]   45   23
## [46,]   46   24
## [47,]   47   24
## [48,]   48   24
## [49,]   49   24
## [50,]   50   25

El primero va a velicidad 4,el segundo tambien a velocidad 4, el tercero a velocidad 7 y asi sucesivamente. Esto es lo que muestra el grafico.

Ahora, es posible generar distintos tipos de graficos

Tipo de grafico sintaxis Ejemplo de uso Descripcion
puntos p plot(cars$speed,type = "p") Genera un grafico de puntos
linas l plot(cars$speed,type = "l") Genera un grafico de lineas
puntos y lineas b plot(cars$speed,type = "b") Genera un grafico de lineas y puntos, pero discontinuo en lineas
lineas (de b) c plot(cars$speed,type = "c") Genera un grafico de lineas y puntos, continuo en lineas
puntos y lineas (sobrepuestos) o plot(cars$speed,type = "o") Genera un grafico combinando p y l
histograma h plot(cars$speed,type = "h") Genera un histograma
escalera s plot(cars$speed,type = "s") Genera un grafico de escalera
nulo n plot(cars$speed,type = "n") Genera un grafico pero solo sus ejer X y Y
plot(cars$speed,type = "p")

plot(cars$speed,type = "l")

plot(cars$speed,type = "o")