Les mostraremos ejercicios simples en R para empezar en este lenguaje
\(\bullet\) Cómo escribir un vector
\(\bullet\) Operaciones con un vector
\(\bullet\) Función class
\(\bullet\) Crear una matriz
\(\bullet\) Dimenciones de una matriz
\(\bullet\) Cómo sumar matrices
\(\bullet\) Crear un dataframe
\(\bullet\) Eliminar una colunma a un dataframe
\(\bullet\) Adicionar una colunma a un dataframe
\(\bullet\) Eliminar una fila a un dataframe
\(\bullet\) Adicionar una fila a un dataframe
\(\bullet\) Cómo generar numeros al azar
\(\bullet\) Histograma
\(\bullet\) Boxplot
\(\bullet\) Diagrama de dispersión
\(\bullet\) Como importar un archivo de texto
\(\bullet\) Como importar un archivo Excel
\(\bullet\) Instalación de un paquete (libreria)
Existen tres tipos de vectores: Numérico, Texto y Lógico.
Con la función \(c()\) se puede crear el vector de la siguiente forma:
# Vector numérico
vector_n <- c(1,2,3,4,5,6,7,8,9,0)
vector_n
## [1] 1 2 3 4 5 6 7 8 9 0
# Vector de texto
vector_t <- c("Bienvenidos","Bienvenidas","Curso R")
vector_t
## [1] "Bienvenidos" "Bienvenidas" "Curso R"
# Vector lógico
vector_l <- c(TRUE,FALSE,FALSE,TRUE)
vector_l_2 <- c(T,F,T,F) # Otra manera valida de escribir False y True
vector_l
## [1] TRUE FALSE FALSE TRUE
vector_l_2
## [1] TRUE FALSE TRUE FALSE
# Largo de un vector
vector_n <- c(1:1000)
length(vector_n)
## [1] 1000
# Suma de vectores
vector_a <- c(1:10)
vector_b <- c(11:20)
vector_a + vector_b
## [1] 12 14 16 18 20 22 24 26 28 30
# Resta de vectores
vector_a <- c(10,5,48,50,23,69,78,41,2,56)
vector_b <- c(25:34)
vector_b - vector_a
## [1] 15 21 -21 -22 6 -39 -47 -9 31 -22
# Multiplicación de vectores
vector_a <- c(1:10)
vector_b <- c(11:20)
vector_a * vector_b
## [1] 11 24 39 56 75 96 119 144 171 200
# Divición de vectores
vector_a <- c(1:10)
vector_b <- c(11:20)
vector_a / vector_b
## [1] 0.09090909 0.16666667 0.23076923 0.28571429 0.33333333 0.37500000
## [7] 0.41176471 0.44444444 0.47368421 0.50000000
Si se quiere saber la clase de objeto que se está tratando, se puede utilizar \(class()\)
xx <- c(1:2)
xy <- c(1.2,2.1)
yy <- c("a","b")
class(xx)
## [1] "integer"
class(xy)
## [1] "numeric"
class(yy)
## [1] "character"
La función \(matrix()\) es la que permite crear matrices, está tiene 3 argumentos: \(ncol\) la cual determina el número de columnas, \(nrow\) que determina el número de filas, y \(data\) el cual contiene el vector.
# Matriz sin especificar colunmas o filas
matrix(1:9)
## [,1]
## [1,] 1
## [2,] 2
## [3,] 3
## [4,] 4
## [5,] 5
## [6,] 6
## [7,] 7
## [8,] 8
## [9,] 9
# Matriz 3x3
matrix(1:9,ncol = 3,nrow = 3)
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
A las matrices también se les puede sumar, restar, multiplicar, dividir y elevar a una potencia.
# Suma a los vectores que contiene la matriz
matriz_s <- matrix(1:9,ncol = 3,nrow = 3)
matriz_s + 1
## [,1] [,2] [,3]
## [1,] 2 5 8
## [2,] 3 6 9
## [3,] 4 7 10
# Resta a los vectores que contiene la matriz
matriz_s <- matrix(1:9,ncol = 3,nrow = 3)
matriz_s - 1
## [,1] [,2] [,3]
## [1,] 0 3 6
## [2,] 1 4 7
## [3,] 2 5 8
# Multiplicación a los vectores que contiene la matriz
matriz_s <- matrix(1:9,ncol = 3,nrow = 3)
matriz_s * 2
## [,1] [,2] [,3]
## [1,] 2 8 14
## [2,] 4 10 16
## [3,] 6 12 18
# Divición a los vectores que contiene la matriz
matriz_s <- matrix(1:9,ncol = 3,nrow = 3)
matriz_s / 2
## [,1] [,2] [,3]
## [1,] 0.5 2.0 3.5
## [2,] 1.0 2.5 4.0
## [3,] 1.5 3.0 4.5
# Elevar a una potencia a los vectores que contiene la matriz
matriz_s <- matrix(1:9,ncol = 3,nrow = 3)
matriz_s ** 2
## [,1] [,2] [,3]
## [1,] 1 16 49
## [2,] 4 25 64
## [3,] 9 36 81
matriz_s ^ 2 # Otra forma valida de elevar
## [,1] [,2] [,3]
## [1,] 1 16 49
## [2,] 4 25 64
## [3,] 9 36 81
Con las función \(dim()\) se puede conocer que dimención tiene una matriz, ya sea 2x2, 3x3, 4x4, etc.
dim(matriz_s)
## [1] 3 3
Esta operación se puede hacer entre dos matrices que tengan la misma dimención
# Matriz 4x3
matriz_A <- matrix(1:12,ncol = 4,nrow = 3)
matriz_A
## [,1] [,2] [,3] [,4]
## [1,] 1 4 7 10
## [2,] 2 5 8 11
## [3,] 3 6 9 12
# Matriz 4x3
matriz_B <- matrix(25:36,ncol = 4,nrow = 3)
matriz_B
## [,1] [,2] [,3] [,4]
## [1,] 25 28 31 34
## [2,] 26 29 32 35
## [3,] 27 30 33 36
# Suma entre matrices
matriz_A + matriz_B
## [,1] [,2] [,3] [,4]
## [1,] 26 32 38 44
## [2,] 28 34 40 46
## [3,] 30 36 42 48
Como se puede evidenciar se sumaron los vectores de cada posición.
Los data frames son estructuras de datos de dos dimensiones (rectangulares) que pueden contener datos de diferentes tipos, por lo tanto, son heterogéneas. Esta estructura de datos es la más usada para realizar análisis de datos y seguro te resultará familiar si has trabajado con otros paquetes estadísticos.
Con la función \(data.frame()\) se creará el dataframe, cabe resaltar que la composición está dada por vectores del mismo tamaño
# Se recomienda no utilizar carácteres especiales como las tíldes
Numero <- c(1:5)
Letra <- c("a","b","c","d","e")
Logico <- c(T,F,T,T,F)
Sexo <- c("M", "F", "M","F","F")
dataf <- data.frame(Numero,Letra,Logico,Sexo)
dataf
## Numero Letra Logico Sexo
## 1 1 a TRUE M
## 2 2 b FALSE F
## 3 3 c TRUE M
## 4 4 d TRUE F
## 5 5 e FALSE F
Para poder eliminar una columna simplemente se llamará el dataframe, se seleccionará la opción de columna y se restara el número de columna que se desea eliminar.
dataf_e <- dataf[,-4]
dataf_e
## Numero Letra Logico
## 1 1 a TRUE
## 2 2 b FALSE
## 3 3 c TRUE
## 4 4 d TRUE
## 5 5 e FALSE
Para adicionar una colunma se puede utilizar la función \(cbind\) de la siguiente forma:
# El vector a adicionar tiene que tener la misma longitud que la del dataframe
comida <- c("Arroz","Mango","Carne","Agua","Postre")
dataf_a <- cbind(dataf,comida)
dataf_a
## Numero Letra Logico Sexo comida
## 1 1 a TRUE M Arroz
## 2 2 b FALSE F Mango
## 3 3 c TRUE M Carne
## 4 4 d TRUE F Agua
## 5 5 e FALSE F Postre
Para poder eliminar una fila simplemente se llamará el dataframe, se seleccionará la opción de columna y se restara el número de fila que se desea eliminar.
dataf_e <- dataf[-5,]
dataf_e
## Numero Letra Logico Sexo
## 1 1 a TRUE M
## 2 2 b FALSE F
## 3 3 c TRUE M
## 4 4 d TRUE F
Para adicionar una fila se puede utilizar la función \(rbind\) de la siguiente forma:
fila_n <- c(6,"f",T,"F")
dataf_a <- rbind(dataf,fila_n)
dataf_a
## Numero Letra Logico Sexo
## 1 1 a TRUE M
## 2 2 b FALSE F
## 3 3 c TRUE M
## 4 4 d TRUE F
## 5 5 e FALSE F
## 6 6 f TRUE F
Con la función \(sample()\) se pueden generar números con distribución aleatoria. Se tienen 3 argumentos, \(x\) son es un vector de uno o más elementos entre los que elegir, o un número entero positivo, \(size\) es un número entero positivo que dará el tamaño de la muestra, y \(replace\) tiene dos estados, F por defecto y T se especifica cuando se tiene un \(x\) menor a \(size\), para que los números se puedan repetir.
sample(x=1:10,size=100,replace = T)
## [1] 1 1 5 4 1 3 6 6 7 9 5 8 6 4 1 2 2 8 6 3 4 5 10 9 6
## [26] 7 1 2 3 1 1 2 9 4 9 6 10 2 7 6 2 10 3 3 2 2 2 6 10 8
## [51] 9 4 5 4 8 8 1 8 3 1 2 9 5 1 7 4 5 1 3 3 1 3 6 4 9
## [76] 4 7 6 10 4 1 4 7 9 7 2 6 4 10 7 9 8 10 9 9 5 7 5 6 8
Un histograma es la representación gráfica en forma de barras, que simboliza la distribución de un conjunto de datos. Sirven para obtener una “primera vista” general, o panorama, de la distribución de la población, o de la muestra, respecto a una característica, cuantitativa y continua.
Con la función \(hist()\) se puede ver el histograma de los datos
datos <- rnorm(100, mean = 50, sd = 10) # forma de generar datos con distribución normal
hist(datos, main = "Histograma", ylab="Frecuencia", xlab = "Datos", col="yellow")
También conocido como diagrama de caja. Es un método estandarizado para representar gráficamente una serie de datos numéricos a través de sus cuartiles. De esta manera, el diagrama de caja muestra a simple vista la mediana y los cuartiles de los datos, pudiendo también representar los valores atípicos de estos.
Los datos representados en el boxplot son:
\(\bullet\) Rango (sin datos atípicos)
\(\bullet\) Datos atípicos
\(\bullet\) Rango intercuartil (también conocido como ICR)
\(\bullet\) Cuartiles (denotados como Q1, Q2 y Q3)
\(\bullet\) Mediana (Q2)
\(\bullet\) Mínimo y máximo.
Con las función \(boxplot()\) se puede generar el diagrama
boxplot(datos,main = "Boxplot",col = "cyan")
El diagrama de dispersión permite estudiar las relaciones entre dos conjuntos asociados de datos que aparecen en pares (por ejemplo, (x,y), uno de cada conjunto). El diagrama muestra estos pares como una nube de puntos.
Recomendación: Revisar correlación de Pearson
Con la función \(plot()\) se puede generar el gráfico
x = sample(1:50,50,replace = T)
y = c(1:50)
plot(x=x,y=y,main = "Diagrama de dispersión",pch=16,cex=0.5)
Para importar un archivo .txt o csv nos dirigimos a la parte superior en la sección Environment
Environment
Seleccionaremos la opción import Dataset y From Text (base)
Dataset
Buscaremos la ubicación del archivo
Environment
Al darle Open nos surgirá la siguiente ventana
Dataset
Le damos click en importar y ya tendremos nuestro archivo dentro de Rstudio
Dataspliplot <- read.csv("D:/Kevin/Trabajos/Curso R/Dataspliplot.txt", sep="")
#View(Dataspliplot)
head(Dataspliplot)
## plot fertilizer variety mass
## 1 7 control A 11.6
## 2 7 control B 7.7
## 3 7 control C 12.0
## 4 7 control D 14.0
## 5 5 control A 8.9
## 6 5 control B 9.5
Tenemos la función \(View()\) la cuál permite visualizar todos los datos que estan dentro del archivo en una ventana nueva dentro de Rstudio.
Para la instalación de un paquete se tienen dos opciones:
# Paquete para importar archivos de Excel
# install.packages("readxl")
En la consola les aparecerá lo siguiente
Console
Seleccionames en el menu superior la opción Tools e Install Packages
Tools
Al seleccionar la opción se desplegará la siguiente ventana
Install
Daremos instalar y el paquete estará instalado
Para importar el proceso es muy similar al de importar un archivo de texto con la diferencia que aquí ya debemos tener instalado el paquete readxl
Tools
Al seleccionar en la opción From Excel se despliega la ventana de busqueda del archivo
Ventana Import
Seleccionamos la opción de la esquina superior derecha Browse
BuscarE
Cuando se le seleccione abrir (\(Open\)) saldrá de la siguiente forma
Import Excel
Ya estando aquí hay dos opciones, una es seleccionar importar y el excel ya estará dentro de Rstudio y la otra es copiar el código que se encuentra dentro de Code Preview mostrado a continuación
library(readxl)
DatosLattice <- read_excel("D:/Kevin/Trabajos/Curso R/DatosLattice.xlsx")
head(DatosLattice,n=10)
## # A tibble: 10 x 4
## rep block trat yield
## <dbl> <dbl> <dbl> <dbl>
## 1 1 1 1 2.2
## 2 1 1 2 1.84
## 3 1 1 3 2.18
## 4 1 2 1 2.05
## 5 1 2 2 0.85
## 6 1 2 3 1.86
## 7 1 3 1 0.73
## 8 1 3 2 1.6
## 9 1 3 3 1.76
## 10 2 4 1 1.71