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
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.
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 |
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:
| Operador | Operacion | Ejemplo de uso |
|---|---|---|
& |
y | x & y |
| |
o | x | y |
! |
negacion | ! x |
| 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 |
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.
# 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.
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.
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.
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"
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.
Los paquetes o librerias son conjuntos de codigos, funciones, datos, y documentacion. Estos paquetes son altamente usado en R.
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")
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
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")