Las operaciones aritméticas es uno de los puntos más basicos para empezar con la sintaxis en R.
# Suma
2 + 3
## [1] 5
# Resta
6 - 8
## [1] -2
# Multplicación
5 * 11
## [1] 55
# Divición
20 / 4
## [1] 5
# Potencia
2^6
## [1] 64
# Residuo
17 %%5
## [1] 2
# Divición entera
17 %/%5
## [1] 3
Son símbolos que sirven para comparar valores. El resultado de una comparación será un valor lógico, TRUE (verdadero) y FALSE (Falso). Estas se usan mucho en condicionales (if), filtros de datos, ciclos y análisis estadístico.
# Mayor que
10 >5
## [1] TRUE
# Menor que
10 < 5
## [1] FALSE
# Mayor o igual que
10 >= 10
## [1] TRUE
# Menor o igual que
12 <= 20
## [1] TRUE
# Igual a
12 == 12
## [1] TRUE
# Diferente de
8 != 7
## [1] TRUE
Un objeto en R es un contenedor que tiene un nombre y almacena información para posteriormente usarla,modificarla o analizarla. En R hay diferentes tipos de objetos según lo que contengan, número, texto, valor lógico, vector, matriz, lista, data frame, función, entre otros.
# Objeto númerico
x <- 21
# Objeto carácter
nombre <- "Maryorie"
# Objeto factor
escuelas <- factor(c("Estadística","Computación estadística","Investigación operativa","Matemática"))
# Objeto matriz
A <- matrix(1:16, nrow = 4, ncol = 4)
# Objeto data frame
datos <- data.frame(x, nombre)
datos
## x nombre
## 1 21 Maryorie
# Objeto vector
Edades <- c(3,10,21,39,41)
Los tipos de datos es para indicarnos de que tipo de información se almaceno en un objeto en R.
x <- 12.5
class(x)
## [1] "numeric"
y <- "Maryorie"
class(y)
## [1] "character"
z <- 21
class(z)
## [1] "numeric"
t <- TRUE
class(t)
## [1] "logical"
edades <- c(21,3,10,39,41)
edades
## [1] 21 3 10 39 41
class(edades)
## [1] "numeric"
nombres <- c("Maryorie","Denis","Jhovana","Johan","Endrick")
nombres
## [1] "Maryorie" "Denis" "Jhovana" "Johan" "Endrick"
class(nombre)
## [1] "character"
# Acceder a un elemento de un vector
# Acceder al nombre de Endrick
nombres[5]
## [1] "Endrick"
#Acceder a la edad 41
edades[5]
## [1] 41
OBS: La posición de los elementos de un objeto empiezan desde el número 1.
# Matriz 2x2
A <- matrix(1:4, nrow = 2, byrow = TRUE)
A
## [,1] [,2]
## [1,] 1 2
## [2,] 3 4
B <- matrix(1:16, nrow = 4, byrow = FALSE)
B
## [,1] [,2] [,3] [,4]
## [1,] 1 5 9 13
## [2,] 2 6 10 14
## [3,] 3 7 11 15
## [4,] 4 8 12 16
G <- matrix(c(21,22,8,14,19,6,8,10,0),nrow = 3)
G
## [,1] [,2] [,3]
## [1,] 21 14 8
## [2,] 22 19 10
## [3,] 8 6 0
G <- matrix(c(21,22,8,14,19,6,8,10,0),nrow = 3,byrow = TRUE)
G
## [,1] [,2] [,3]
## [1,] 21 22 8
## [2,] 14 19 6
## [3,] 8 10 0
C <- matrix(c(12,15,16,11,13,12,18,10,17,14,19,13),nrow = 3, ncol = 4, byrow = TRUE)
C
## [,1] [,2] [,3] [,4]
## [1,] 12 15 16 11
## [2,] 13 12 18 10
## [3,] 17 14 19 13
D <- matrix(c(12,15,16,11,13,12,18,10,17,14,19,13),nrow = 3,ncol = 4)
D
## [,1] [,2] [,3] [,4]
## [1,] 12 11 18 14
## [2,] 15 13 10 19
## [3,] 16 12 17 13
Para acceder a un elemento se utiliza:
# matriz[fila, columna]
D[2,3]
## [1] 10
D[1,4]
## [1] 14
También se puede seleccionar una fila completa
D[2,]
## [1] 15 13 10 19
O también una columna completa
D[,2]
## [1] 11 13 12
Es una estructura de datos que permite almacenar elementos del mismo tipo de dato organizados en una o mas dimensiones.
# Array de una dimensión
a <- array(1:5)
a
## [1] 1 2 3 4 5
# Array de 2 dimensiones
g <- array(1:6,dim = c(2,3))
g
## [,1] [,2] [,3]
## [1,] 1 3 5
## [2,] 2 4 6
# Array de 3 dimensiones
c <- array(1:12,dim = c(2,3,2))
c
## , , 1
##
## [,1] [,2] [,3]
## [1,] 1 3 5
## [2,] 2 4 6
##
## , , 2
##
## [,1] [,2] [,3]
## [1,] 7 9 11
## [2,] 8 10 12
¿Cómo acceder a un elemento?
# array[fila,columna,capa]
c[2,1,2]
## [1] 8
Los arrays tienen aplicaciones en áreas como:
Es una estructura de datos que permite guardar varios objetos dentro de un mismo objeto, incluso si esos objetos son de diferentes tipos.
lista1 <- list(
nombre = "Maryorie",
edad = 21,
notas = c(11,14,13),
aprobado = TRUE
)
lista1
## $nombre
## [1] "Maryorie"
##
## $edad
## [1] 21
##
## $notas
## [1] 11 14 13
##
## $aprobado
## [1] TRUE
# Acceder a elementos de una lista
lista1 [[1]]
## [1] "Maryorie"
lista1 [[3]]
## [1] 11 14 13
#ó
lista1$notas
## [1] 11 14 13
# ó
lista1[["notas"]]
## [1] 11 14 13
lista1[["nombre"]]
## [1] "Maryorie"
# Ver tipo de datos de los objetos de la lista
class(lista1[["edad"]])
## [1] "numeric"
# Ejemplo de lista
estudiante <-list(
nombre = "Maryorie",
edad = 21,
peso = 54,
aprobado = TRUE
)
# Cuál es la edad del estudiante?
estudiante$edad
## [1] 21
Es una estructura de datos que sirve para guardar datos en forma de tabla, es decir las organiza en filas y columnas.También nos permite trabajar con diferentes tipos de variables en una misma tabla.
Es la estructura más utilizada en Estadística y en Ciencia de datos, porque representa una base de datos:
# Ejemplos
estudiantes <- data.frame(
nombre = c("Mileysi","Gustavo","Endrick","Johan"),
edad = c(16,15,17,18),
promedio = c(16.5,17,15.5,18)
)
estudiantes
## nombre edad promedio
## 1 Mileysi 16 16.5
## 2 Gustavo 15 17.0
## 3 Endrick 17 15.5
## 4 Johan 18 18.0
nombres <- c("Dayan","Jamir","David","Xiomara")
edad <- c(22,21,20,24)
data.frame(nombres,edad)
## nombres edad
## 1 Dayan 22
## 2 Jamir 21
## 3 David 20
## 4 Xiomara 24
# ¿Cómo acceder a los datos de un data frame?
estudiantes$edad
## [1] 16 15 17 18
estudiantes $promedio
## [1] 16.5 17.0 15.5 18.0
# También se puede acceder usando corchetes
estudiantes[,1]
## [1] "Mileysi" "Gustavo" "Endrick" "Johan"
#A una fila
estudiantes[1,]
## nombre edad promedio
## 1 Mileysi 16 16.5
# A un elemento específico
estudiantes[1,2]
## [1] 16
# Estructura del data fame
str(estudiantes)
## 'data.frame': 4 obs. of 3 variables:
## $ nombre : chr "Mileysi" "Gustavo" "Endrick" "Johan"
## $ edad : num 16 15 17 18
## $ promedio: num 16.5 17 15.5 18
Los factores se utilizan principalmente para representar variables categóricas.
# ejemplo
sexo <- c("F","F","M","F","M","M")
# Convertimos a factor
sexo_factor <- factor(sexo)
sexo_factor
## [1] F F M F M M
## Levels: F M
# Consultamos sus niveles
levels(sexo_factor)
## [1] "F" "M"
Los factores son especialmente importantes cuando trabajamos con variables como: