library(pacman)
p_load(rmdformats,readr,readxl,ggplot2,plotly,DT,xfun,gridExtra,leaflet)
La estadística es la parte de la ciencia que se encarga de recopilar datos para analizarlos y poder hacer inferencias y conclusiones. Se considera el arte de tomar decisiones luego de analizar los datos obtenidos mediante diferentes herramientas estadísticas. A la vista de la información anterior, se trata de datos estadísticos y pueden dar una idea de cómo se aplica en ingeniería, en este caso en ingeniería de software, e incluso más extensamente en informática. En la actualidad, estas dos disciplinas están estrechamente relacionadas, porque el hecho de que existan recursos informáticos con herramientas estadísticas promueve mucho el uso de estas herramientas, de modo que se puedan tomar conclusiones y decisiones. Además, hay muchas contribuciones a las estadísticas de la IA, porque la IA es básicamente estadística, es decir, para obtener experiencia, datos y poder tomar decisiones por ti mismo.
Variable de cantidad: Es una variable representada por un número, es decir, una variable que se puede contar. Ejemplo: Precaución: La cantidad de cosas que posee una persona: 2, 4, 6. Continuo: Altura humana: 1,65 cm.
Variables cualitativas: son variables que no se pueden calcular numéricamente. Ejemplos: Nominal-color de ojos de una persona, ordinal-estado de pasaporte-aprobado, rechazado, pendiente, binario- solo puede ser una respuesta de sí o no.
Distribución de frecuencias: Es una forma de ordenar una serie de observaciones en diferentes grupos, y generalmente se hacen en orden ascendente o descendente.
Distribución normal: los datos se distribuyen principalmente en o cerca de la mediana y la media.
library(readxl)
pozos <- read_excel("pozos.xlsx")
ph <- t(pozos$PH)
ph <- as.vector(ph)
ph <- ph[1:293]
ph <- as.numeric(ph)
sort(ph,decreasing=FALSE)
## [1] 6.1 6.3 6.4 6.4 6.4 6.4 6.4 6.4 6.4 6.5 6.5 6.5 6.5 6.5 6.5 6.5 6.5 6.5
## [19] 6.5 6.5 6.5 6.5 6.5 6.5 6.5 6.5 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.6
## [37] 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.7 6.7 6.7 6.7 6.7
## [55] 6.7 6.7 6.7 6.7 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8
## [73] 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8
## [91] 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8
## [109] 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9
## [127] 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9
## [145] 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 7.0 7.0
## [163] 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0
## [181] 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0
## [199] 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0
## [217] 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0
## [235] 7.0 7.0 7.0 7.0 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1
## [253] 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.2 7.2
## [271] 7.2 7.2 7.2 7.2 7.2 7.2 7.2 7.2 7.2 7.2 7.3 7.3 7.3 7.3 7.3 7.3 7.4 7.4
## [289] 7.4 7.4 7.4 7.4 7.5
max(ph)
## [1] 7.5
min(ph)
## [1] 6.1
## Este es el rango
max(ph)-min(ph)
## [1] 1.4
temperatura <- t(pozos$TEMP)
temperatura <- as.vector(temperatura)
temperatura <- temperatura[1:293]
sort(temperatura,decreasing=FALSE)
## [1] 25.6 25.8 26.2 26.3 26.3 26.4 26.4 26.8 26.8 26.9 27.0 27.0 27.1 27.2 27.2
## [16] 27.3 27.3 27.3 27.3 27.4 27.4 27.4 27.4 27.4 27.5 27.5 27.5 27.5 27.5 27.5
## [31] 27.5 27.5 27.5 27.5 27.5 27.5 27.6 27.7 27.7 27.7 27.7 27.8 27.8 27.8 27.8
## [46] 27.8 27.8 27.8 27.8 27.8 27.8 27.8 27.9 27.9 27.9 27.9 27.9 27.9 27.9 27.9
## [61] 27.9 27.9 27.9 27.9 27.9 27.9 28.0 28.0 28.0 28.0 28.0 28.0 28.0 28.0 28.0
## [76] 28.0 28.0 28.0 28.0 28.0 28.0 28.0 28.0 28.0 28.1 28.1 28.1 28.2 28.2 28.2
## [91] 28.2 28.2 28.2 28.2 28.2 28.2 28.2 28.2 28.2 28.3 28.3 28.3 28.3 28.3 28.3
## [106] 28.3 28.4 28.4 28.4 28.4 28.4 28.4 28.4 28.5 28.5 28.5 28.5 28.5 28.5 28.5
## [121] 28.5 28.5 28.6 28.6 28.6 28.6 28.6 28.6 28.6 28.6 28.6 28.6 28.6 28.6 28.6
## [136] 28.6 28.6 28.6 28.6 28.6 28.6 28.7 28.7 28.7 28.7 28.7 28.7 28.7 28.7 28.7
## [151] 28.7 28.7 28.7 28.7 28.8 28.8 28.8 28.8 28.8 28.8 28.8 28.8 28.8 28.8 28.8
## [166] 28.8 28.9 28.9 28.9 28.9 28.9 28.9 28.9 28.9 28.9 28.9 28.9 28.9 28.9 28.9
## [181] 28.9 28.9 28.9 28.9 29.0 29.0 29.0 29.0 29.0 29.0 29.0 29.0 29.0 29.0 29.0
## [196] 29.0 29.0 29.0 29.1 29.1 29.1 29.1 29.1 29.1 29.1 29.1 29.1 29.1 29.1 29.2
## [211] 29.2 29.2 29.2 29.2 29.2 29.2 29.2 29.2 29.2 29.2 29.2 29.2 29.2 29.3 29.3
## [226] 29.3 29.3 29.4 29.4 29.4 29.4 29.4 29.4 29.4 29.4 29.4 29.4 29.4 29.5 29.5
## [241] 29.5 29.5 29.5 29.5 29.5 29.5 29.5 29.6 29.6 29.6 29.7 29.7 29.8 29.8 29.8
## [256] 29.8 29.8 29.8 29.9 29.9 29.9 29.9 30.0 30.0 30.0 30.0 30.0 30.0 30.1 30.1
## [271] 30.1 30.1 30.2 30.2 30.2 30.3 30.3 30.3 30.3 30.4 30.5 30.6 30.8 30.9 31.1
## [286] 31.1 31.1 31.2 31.4 31.5 31.7 31.9 32.1
max(temperatura)
## [1] 32.1
min(temperatura)
## [1] 25.6
## Este es el rango
max(temperatura)-min(temperatura)
## [1] 6.5
datos4 <- data.frame(ph,temperatura)
PH
n <- length(ph)
## Número de los intervalos
i <- ceiling(sqrt(n))
i
## [1] 18
Temperatura
n1 <- length(temperatura)
## Número de los intervalos
i2 <- ceiling(sqrt(n1))
i2
## [1] 18
###Construya una tabla de frecuencias que incluya: límites de clases, frecuencia absoluta, frecuencia relativa, frecuencia relativa porcentual, frecuencia acumulada y explique a detalle que refleja esta tabla.
PH
library(fdth)
##
## Attaching package: 'fdth'
## The following objects are masked from 'package:stats':
##
## sd, var
tabla<- fdt(ph)
tabla
## Class limits f rf rf(%) cf cf(%)
## [6.039,6.193) 1 0.00 0.34 1 0.34
## [6.193,6.346) 1 0.00 0.34 2 0.68
## [6.346,6.5) 7 0.02 2.39 9 3.07
## [6.5,6.653) 40 0.14 13.65 49 16.72
## [6.653,6.807) 67 0.23 22.87 116 39.59
## [6.807,6.961) 44 0.15 15.02 160 54.61
## [6.961,7.114) 108 0.37 36.86 268 91.47
## [7.114,7.268) 12 0.04 4.10 280 95.56
## [7.268,7.421) 12 0.04 4.10 292 99.66
## [7.421,7.575) 1 0.00 0.34 293 100.00
Esta tabla de frecuencia nos dice que hay 10 intervalos de valor de PH que se pueden ingresar. Nos dice que solo hay un valor de PH que ingresa en el primer y segundo intervalo, lo que representa el 0.34% de la frecuencia relativa de todos los porcentajes de datos. . Luego, hay 7 niveles de PH en el tercer intervalo, que representan el 2,94% de la frecuencia relativa porcentual. En el siguiente intervalo, los datos 40, 67, 44, 108 que pertenecen a este intervalo representan el 13,65%, que ha aumentado en 22,87 .%, 15,87% y 36,68% de frecuencia relativa. A continuación se encuentran dos intervalos, su frecuencia absoluta es igual a 12, representan 4.10% de la frecuencia porcentual relativa, en el último intervalo, solo tiene una frecuencia de 1, que representa 0.34% del primer intervalo. Si sumamos el porcentaje de frecuencia relativa, debe dar 100%, como se muestra en la última columna de la tabla.
Temperatura
library(fdth)
tabla1<- fdt(temperatura)
tabla1
## Class limits f rf rf(%) cf cf(%)
## [25.344,26.052) 2 0.01 0.68 2 0.68
## [26.052,26.759) 5 0.02 1.71 7 2.39
## [26.759,27.467) 17 0.06 5.80 24 8.19
## [27.467,28.175) 63 0.22 21.50 87 29.69
## [28.175,28.883) 79 0.27 26.96 166 56.66
## [28.883,29.59) 81 0.28 27.65 247 84.30
## [29.59,30.298) 28 0.10 9.56 275 93.86
## [30.298,31.006) 9 0.03 3.07 284 96.93
## [31.006,31.713) 7 0.02 2.39 291 99.32
## [31.713,32.421) 2 0.01 0.68 293 100.00
Esta tabla de frecuencias nos dice que hay 10 intervalos en los que puede entrar la temperatura y que hay 2 frecuencias en el primer intervalo, que representan el 0,68% de la frecuencia porcentual relativa de todos los datos. Luego, hay 5 en el segundo intervalo, que representan el 1,71% de la frecuencia relativa porcentual. En el siguiente intervalo, los datos pertenecientes a este intervalo han aumentado en 17, 63, 79, 81 y 28, lo que representa el 5,8%, 21,5 %, que es 26,96%, 27,65% y 9,56% de la frecuencia relativa, respectivamente. A continuación se encuentra el intervalo con 9, que representa el 3,07% del porcentaje de frecuencia relativa, y los dos últimos contienen 7 y 2, que representan el 2,39% y 0,68%, respectivamente. Si sumamos el porcentaje de frecuencia relativa, debe dar 100%, como se muestra en la última columna de la tabla.
Elabore un histograma, polígono de frecuencias, histograma de frecuencias acumulado.
PH
plot(tabla, type = "fh")
title(main = "PH")
plot(tabla, type = "fp")
title(main = "PH")
plot(tabla, type = "cfh")
title(main = "PH")
## Temperatura
plot(tabla1, type = "fh")
title(main = "TEMPERATURA")
plot(tabla1, type = "fp")
title(main = "TEMPERATURA")
plot(tabla1, type = "cfh")
title(main = "TEMPERATURA")
E) Obtenga la media, mediana, moda e interprete los resultados.
PH
mean(ph)
## [1] 6.890444
median(ph)
## [1] 6.9
library(modeest)
## Registered S3 method overwritten by 'rmutil':
## method from
## print.response httr
##
## Attaching package: 'modeest'
## The following object is masked from 'package:fdth':
##
## mfv
mlv(ph,method = "mfv")
## [1] 7
Estos datos pueden considerarse normales porque la mayoría de ellos están cerca de los valores promedio y mediano de 6,89 y 6,9, respectivamente.
Temperatura
mean(temperatura)
## [1] 28.69795
median(temperatura)
## [1] 28.7
library(modeest)
mlv(temperatura,method = "mfv")
## [1] 28.6
Estos datos pueden considerarse normales porque la mayoría de ellos están cerca de los valores promedio y mediano de 28,69 y 28,7, respectivamente.
Obtenga la varianza y la desviación estándar, interprete los resultados. ¿Pueden estas medidas ser negativas?
PH
var(ph)
## [1] 0.04908645
sd(ph)
## [1] 0.2215546
Después de obtener la desviación estándar, se puede concluir parcialmente que los datos no están muy dispersos. Y estos valores no pueden ser números negativos, porque las raíces no pueden funcionar con números negativos.
Temperatura
var(temperatura)
## [1] 1.035407
sd(temperatura)
## [1] 1.017549
Después de obtener la desviación estándar, se puede concluir parcialmente que los datos no están muy dispersos, incluso si el rango es más alto que los datos de PH. Y estos valores no pueden ser números negativos, porque no puede usar números negativos para calcular raíces.
Elabore gráfico de caja y bigote
PH
boxplot(ph)
Se puede observar que en los datos del ph hay pocos que están dispersos de la mediana y media.
Temperatura
boxplot(temperatura)
Se puede ver que en los datos de temperatura, más datos se desvían de la mediana y la media.
Elabora una gráfica de dispersión de pH versus temperatura, use ggplot aquí. En base a esta gráfica: ¿Considera que estas 2 variables están relacionadas?
cor(pozos)
## PH TEMP
## PH 1.00000000 -0.02029087
## TEMP -0.02029087 1.00000000
ggplot(data = datos4)+
aes(x=temperatura,y=ph)+
geom_point()