Clase 1: Comandos básicos en R y uso de scripts

Texto alternativo de la imagen

Este clase está diseñado para enseñarte los comandos básicos en R, incluyendo la creación de variables, tablas y el ingreso y análisis de bases de datos. Además, aprenderás a explorar y analizar tus datos de manera efectiva. Con el tiempo, podrás utilizar estas habilidades básicas de R para realizar análisis más complejos y obtener resultados valiosos de tus datos.

Contenido

Operaciones Basicas

  • Adición (suma)
2 + 2
## [1] 4
  • Sustracción (resta)
2 - 2
## [1] 0
  • Multiplicación
2 * 2
## [1] 4
  • División
2 / 2
## [1] 1
  • Raíz cuadrada

Observe que para la raíz cuadrada se utiliza el comando sqrt y el valor del que se quiere obtener la raíz cuadrada se coloca dentro de los paréntesis ( ).

sqrt(2)
## [1] 1.414214

Ahora que conocemos algunas de las operaciones básicas, podemos resolver algunos ejercicios.

Ejercicio 1

Utilizando la ecuación de regresión linear, para la cual la pendiente tiene un valor de 0.3 y el intercepto un valor de 34.5, resolver cuanto sería el valor de y si x vale 36.4.

\(y = intercepto + slope(x)\)

Solución:

34.5 + 0.3*36.4
## [1] 45.42

Creación de variables

Comencemos creando variables numéricas con un único valor

x <- 5 # En este caso, x tendrá el valor de 5
y <- -3 # En este caso, y tendrá el valor de -3

Si queremos crear variables numéricas con varios valores, tendremos que crear un vector utilizando el comando c(), en donde cada valor estará separa por coma.

Peso <- c(12.5, 23, 12.6, 18, 7, 18.3, 23, 40, 21,8)

Observe que en este caso las comas se parados los valores, y los puntos solo se utilizan para las cifras decimales. La variable Peso tendrá 10 observaciones.

Otra forma de crear un vector es utilizando el signo : entre los valores del inicio y final.

Altura <- c(1:1000)

En este caso la variable Altura tendrá 1000 observaciones

Ahora, ¿cómo podemos crear una variable con números aleatorios?, como podemos crear una variable con distribución normal?

Variable con numeros alatorios

Primero podríamos utilizar el comando sample() para crear números aleatorios sin una distribución en especifica, dando el número de inicio y final, y la cantidad de observaciones que deseamos.

Aleatorios <- sample(1:1000, size = 50)

En este ejemplo observe que, 1 y 1000 es el rango entre el cual estarán 50 observaciones.

Variable con distribucion normal

Podemos crear variables con una distribución normal utilizando el comando rnorm(), en este caso tendremos que especificar la media y la desviación estándar.

Dnormal <- rnorm(50, mean = 30, sd = 2.5)

Para este ejemplo, hemos creado 50 observaciones, con una media de 30 y una desviación estándar de 2.5

El siguiente paso es la creación de variables categorías, variables que incluyen categorias. Para crear una variable de categorías tendremos que colocar cada observación entre comillas " "

Variabley <- "y"

En este ejemplo la variabley solo tiene la observación y. Si quermos más observaciones podemos utilizar el comando c().

Seccion <- c("1A", "1B", "3A", "2B", "2A", "3A")

Cracion de tablas

Ya que aprendimos como crear variables numéricas y categóricas, ahora podemos crear tablas. Para crear una tabla en R debemos de asegurar que nuestras variables presenten la misma cantidad de observaciones.

Creación de tabla con 10 observaciones

Primero crearemos nuestras variables

Temperatura <- sample(20:35, 10)

Riqueza <- rnorm(10, mean = 5, sd= 3)

Franja <- c("A", "A", "C", "C", "A", "B", "B", "B", "A", "C")

Ahora utilizando el comando data.frame() podemos crear nuestra tabla

Tabla1 <- data.frame(Franja, Temperatura, Riqueza)

Observemos nuestra primera tabla

Franja Temperatura Riqueza
A 22 3.4996673
A 32 6.4339251
C 34 1.9205230
C 20 0.9155742
A 28 4.9297268
B 21 5.3414697
B 31 4.7642910
B 29 3.1037803
A 24 4.2571463
C 30 5.7297918

Exploracion de datos

Primero podemos hacer exploración rápido de nuestra primera tabla utilizando el comando summary()

Observe que cuando ejecutamos el comando summary() obtenemos la media, cuartiles, y algunos otros detalles de cada variable en nuestra tabla

summary(Tabla1)
##     Franja           Temperatura       Riqueza      
##  Length:10          Min.   :20.00   Min.   :0.9156  
##  Class :character   1st Qu.:22.50   1st Qu.:3.2028  
##  Mode  :character   Median :28.50   Median :4.5107  
##                     Mean   :27.10   Mean   :4.0896  
##                     3rd Qu.:30.75   3rd Qu.:5.2385  
##                     Max.   :34.00   Max.   :6.4339

Si nos interesa obtener solo la media podemos utilizar el comando mean(), para la desviación estándar usamos sd(), y para la mediana median().

mean(Tabla1$Temperatura)
## [1] 27.1
median(Tabla1$Temperatura)
## [1] 28.5
sd(Tabla1$Temperatura)
## [1] 4.976612

Si nos interesa una gráfico exploratorio, podemos usar el comando plot() para una nube de puntos, boxplot() para un gráfico de cajas, y hist() para un histograma.

plot(Tabla1$Temperatura)

boxplot(Tabla1$Temperatura)

hist(Tabla1$Temperatura)

:::

Cargar base de datos

Para cargar una base de datos de nuestro pc, necesitamos sabe exactamente la ubicación de la base de datos. Por ejemplo para cargar la base de datos bird.sta que se encuentra en la carpeta data, de nuestro proyecto de R. Podemos usar el comando read.csv() ya que esta base de datos está delimitada por coma.

Ejemplo para cargar una base de datos

Aves.sta <- read.csv("data/bird.sta.csv")

Observe que el nombre de la base de datos es bird.sta, el formato es .csv y se encuentra en la carpeta data, esta base de datos fue guardada en Aves.sta en nuestro ambiente en R

Estadistica descriptiva

Para los siguientes ejemplos utilizaremos la base de datos penguins del paquete palmerpenguins

Cargar la base de datos penguins

Primero debemos cargar el paquete palmerpenguins

library(palmerpenguins)

Una vez cargada el paquete podemos cargar a la base de datos penguins

data("penguins")

Calcular la media de cada columna del data frame

sapply(penguins[, 3:6], mean, na.rm = TRUE)
##    bill_length_mm     bill_depth_mm flipper_length_mm       body_mass_g 
##          43.92193          17.15117         200.91520        4201.75439

Observe que que estamos seleccionando la columna 3 a la 6 (ya que contienen variables numericas), y el nar.rm = TRUE, es para que reconosca que existen NA en nuestra base de datos.

Calcular la media de la masa de los pingüinos para cada especie

tapply(penguins$body_mass_g, penguins$species, mean, na.rm =TRUE )
##    Adelie Chinstrap    Gentoo 
##  3700.662  3733.088  5076.016

Observe que que estamos seleccionando la columna body_mass_g para estimar la media condicionada por la variable species, el nar.rm = TRUE, es para que reconosca que existen NA en nuestra base de datos.