En el siguiente artículo desarrollaré lo aprendido en el día 2 de Introducción al lenguaje y entorno R para el análisis de datos.
Primero crearemos un data frame que contenga los datos de peces
#Inicialmente fijaremos el directorio que usaremos para trabajar
setwd("C:/WorkR")
#Cargaremos las liberias llamadas: readxl y tidyverse
library(readxl)
library(tidyverse)
#Cargamos la base de datos de tipo xlsx
Peces <- read_excel("datos.xlsx", col_types = c("skip",
"numeric", "numeric", "text"))
#Cambiamos la variable Peces a formato data frame
Peces <- data.frame(Peces)
#Descripción del data frame
str(Peces)
## 'data.frame': 100 obs. of 3 variables:
## $ Talla: num 72.3 79.8 62.4 75.1 85.8 ...
## $ Peso : num 2821 5639 5263 7397 6742 ...
## $ Sexo : chr "Hembra" "Macho" "Hembra" "Macho" ...
Estos calculos los realizaremos con Talla y Peso, ya que son variables continuas, en el caso de Sexo no se puede realizar porque son variables cualitativas.
#Media
mean(Peces$Talla)
## [1] 77.02909
#Redondeo a dos decimales
round(mean(Peces$Talla), 2)
## [1] 77.03
#Mediana
median(Peces$Talla)
## [1] 76.82268
#Redondeo a dos decimales
round(median(Peces$Talla), 2)
## [1] 76.82
#Varianza
var(Peces$Talla)
## [1] 29.11021
#Redondeo a dos decimales
round(var(Peces$Talla), 2)
## [1] 29.11
#Desviación estándar
sd(Peces$Talla)
## [1] 5.395388
#Redondeo a dos decimales
round(sd(Peces$Talla), 2)
## [1] 5.4
Podríamos utilizar una función para calcular los cuartiles, máximo, minímo, mediana y media.
summary(Peces$Talla)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 61.32 73.18 76.82 77.03 80.49 91.10
boxplot(Peces$Talla, horizontal = T, col = "purple", xlab = "Talla de peces")
#Media
mean(Peces$Peso)
## [1] 5864.144
#Redondeo a dos decimales
round(mean(Peces$Peso), 2)
## [1] 5864.14
#Mediana
median(Peces$Peso)
## [1] 5824.989
#Redondeo a dos decimales
round(median(Peces$Peso), 2)
## [1] 5824.99
#Varianza
var(Peces$Peso)
## [1] 1371864
#Redondeo a dos decimales
round(var(Peces$Peso), 2)
## [1] 1371864
#Desviación estándar
sd(Peces$Peso)
## [1] 1171.266
#Redondeo a dos decimales
round(sd(Peces$Peso), 2)
## [1] 1171.27
Podríamos utilizar una función para calcular los cuartiles, máximo, minímo, mediana y media.
summary(Peces$Peso)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2627 5065 5825 5864 6656 8636
boxplot(Peces$Peso, horizontal = T, col = "orange", xlab = "Peso de peses")
#Cuento la cantidad de Machos y Hembras
conteo <- table(Peces$Sexo)
#Realizo un gráfico de pastel
pie(conteo, labels = Peces$Sexo, main = "Distribución de sexo de los peces",
col = c("pink", "lightblue"))
plot(Peces$Talla ~ Peces$Peso, xlab = "Peso", ylab = "Talla",
main = "Relación entre Talla y Peso de peces", col = "purple", pch = 17)
abline(lm(Peces$Talla ~ Peces$Peso), col = "orange")
Dado que la línea de tendencia es casi
horizontal, no hay un aumento o disminución
significativa en la talla a medida que aumenta el
peso.
hist(Peces$Talla, col = "purple", xlab = "Talla de Peces",
ylab = "Frecuencia", main = "Histograma de frecuencia")
La talla de peces presenta un comportamiento
aproximadamente normal.
hist(Peces$Peso, col = "orange", xlab = "Peso de Peces",
ylab = "Frecuencia", main = "Histograma de frecuencia")
El peso de peces presenta un comportamiento
aproximadamente normal.
Primero crearemos un data frame que contenga los datos de contaminación del aire
#Cargamos la base de datos de tipo csv
Airpollution <- read.csv(file = "C:/WorkR/airpollution.csv", header = T, sep = ",")
#Descripción del data frame
str(Airpollution)
## 'data.frame': 336 obs. of 2 variables:
## $ Nitrogen.Oxides : num 163 206 284 210 198 ...
## $ Respirable.Particles: num 39.2 34.6 27.3 34.6 24.2 34.8 45.1 64.5 50.3 57.8 ...
names(Airpollution) <- c("NO", "Particules")
summary(Airpollution)
## NO Particules
## Min. : 50.9 Min. :12.20
## 1st Qu.:125.7 1st Qu.:24.90
## Median :164.7 Median :30.05
## Mean :188.0 Mean :32.05
## 3rd Qu.:231.6 3rd Qu.:37.23
## Max. :587.5 Max. :77.90
## NA's :4 NA's :6
#Representación para Nitrogen Oxides
boxplot(Airpollution$NO, horizontal = T, col = "purple",
xlab = "Nitrogen Oxides")
#Representación para Respirable Particles
boxplot(Airpollution$Particules, horizontal = T, col = "orange",
xlab = "Respirable Particles")
plot(Airpollution$NO ~ Airpollution$Particules, xlim = c(0,80),
xlab = "Respirable Particles", ylab = "Nitrogen Oxides", ylim = c(0,600),
main = "Relación entre Nitrogen Oxides y Respirable Particles",
col = "orange", pch = 17)
abline(lm(Airpollution$NO ~ Airpollution$Particules), col = "purple")
En resumen, a medida que aumentan las partículas respirables,
también lo hacen los óxidos de nitrógeno.
hist(Airpollution$NO, col = "orange", xlab = "Nitrogen Oxides",
ylab = "Frecuencia", main = "Histograma de frecuencia")
Los óxidos de nitrogeno tienen tienen mayor concentración de
datos hacía la izquierda.
hist(Peces$Peso, col = "purple", xlab = "Respirable Particles",
ylab = "Frecuencia", main = "Histograma de frecuencia")
Las particulas respiradas presenta un comportamiento
aproximadamente normal.