library(pacman)
p_load("base64enc", "htmltools", "mime", "xfun", "prettydoc","readr", "knitr","DT","dplyr", "ggplot2","plotly", "gganimate","gifski","scales","rmdformats","readxl","DT","gridExtra","leaflet","TSstudio")
library(modeest)
## Registered S3 method overwritten by 'rmutil':
## method from
## print.response httr
library(readxl)
pozos <- read_excel("pozos.xlsx")
View(pozos)
#Examen 2 PYE
Nombre: Jonatan Daniel Oros Cortez Matrícula: 00000229136 26/11/2021
Respuestas amplias y muy bien argumentadas / elaboradas / específicas.
1.- ¿Qué es la estadística y que aplicaciones tiene en ingeniería (según su ingeniería)? La estadística es la ciencia que se usa para recolectar, describir e interpretar un conjunto de datos por lo que en ingeniería de software seria de gran importancia ya que se pudiera dar el caso de que te encarguen crear un programa que conecte varias base de datos y para ello debes poder interpretar estos datos para ver como se relacionan o por ejemplo si te asignan la tarea de crear un software que interprete datos cientificos de un volcan y que pueda crear graficas con ello, para esto tu ocuparas entender los datos que te son presentados para poder crear este software, basicamente las aplicaciones que tiene en mi ingeniería estarian en su propia definicion ya que se ocupa recolectar, describir e interpretar datos y mas en la primera etapa de la creacion de un software que es la del analisis.
2.- Enliste y defina los tipos de variables usados en estadística, de 2 ejemplos de cada uno. Defina distribución de frecuencia y explique que es la distribución normal. Los tipos de variables son:
Variables cualitativas: Son variables que no se pueden medir ni expresar de forma numerica como por ejemplo el color de los ojos o el idioma que hablas
Variables cuantitativas: Por el contrario las variables cuantitativas son las variables que se pueden expresar de forma numerica, en otras palbras que se pueden medir, esta a su vez se divide en sub categorias
Discretas:Solo puede tomar un valor por ejemplo el nuemro de brazos que tienes o el nuemro de pies que se tiene
Continuas:Puede tomar varios valores por ejemplo el peso de una persona o su estatura
Distribución de Frecuencia: Basicamente es todo la informacion obtenida de una variable que se investigo representada en forma de una tabla o grafica
Distribución normal: Es un modelo teorico que nos sirve para poder realizar una prediccion sobre el valor de una variable utilizando la media y desviacion tipica
Estos datos son: Datos de pH y Temperatura de pozos de agua subterránea Se elaborarán estos incisos 1 vez para pH y otra para Temperatura
##PH
ph<-c(pozos$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
minimo <- min(ph)
print ("El valor mínimo es: ")
## [1] "El valor mínimo es: "
print(minimo)
## [1] 6.1
maximo <- max(ph)
print ("El valor máximo es: ")
## [1] "El valor máximo es: "
print(maximo)
## [1] 7.5
print ("El valor rango es: ")
## [1] "El valor rango es: "
print(maximo-minimo)
## [1] 1.4
intervalos<-(1+(3.3)*log(x=293, base=10))
print(intervalos)
## [1] 9.140663
print("El numero de intervalos son 9")
## [1] "El numero de intervalos son 9"
ancho<-((maximo-minimo)/9)
print("El ancho de clase es:")
## [1] "El ancho de clase es:"
print(ancho)
## [1] 0.1555556
library(fdth)
##
## Attaching package: 'fdth'
## The following object is masked from 'package:modeest':
##
## mfv
## 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
Aqui se muestra la tabla de frecuencias donde la primer columna es la de los intervalos y la segunda columna es decir f es la frecuencia con la que se repiten estos intervalos, por ejemplo el primer intervalo se repite a 1 vez seguido por el porcentaje que representa la frecuencia del intervalo primero expresado en decimal (rf) y luego en su porcentaje (rf%) por ejemplo el primer intervalo se repite 1 vez por lo que se hace la siguiente operacion para obtener el porcentaje (1/293*100) y asi se obtiene el 0.34 que aparece. La frecuencia acumulada es la misma pero sumando la frecuencia anterior por ejemplo en el segundo intervalo tambien su frecuencia es 1 pero cuando se llega a la columna de cf esta cambia ya que se sumo la frecuencia anterior (f) del intervalo numero 1 que en este caso era 1 por lo que 1+1 es 2 y en el intervalo 2 en la columna cf es 2 por lo que su porcentaje tambien cambia (2/293 por 100) y asi sucesivamente
Histograma de frecuencias
plot(tabla, type="fh")
Poligono de Frecuencias
plot(tabla, type="fp")
Histograma de Frecuencias Acumuladas
plot(tabla, type="cfh")
media<-mean(ph)
paste("La media es:",media)
## [1] "La media es: 6.89044368600683"
mediana<-median(ph)
paste("La media es:",mediana)
## [1] "La media es: 6.9"
moda<-mfv(ph)
paste("La media es:",moda)
## [1] "La media es: 7"
Bueno el primer resultado es la media el cual es la suma de todos los valores divididos por la cantidad de elememtos que en este caso son 293, la mediana es el numero que esta justo a la mitad de los otros valores mientras la moda es el valor que mas se repite que en este caso es el 7
Varianza
var(ph)
## [1] 0.04908645
Aqui la interpretacion que le puedo dar es que los valores que tenemos se acercan mucho a la media puesto que la varianza se acerca mucho al cero
Desviacion estandar
sd(ph)
## [1] 0.2215546
De igual manera esta se acerca al cero por lo que conluimos lo mismo que los valores se acercan mucho a la media, cabe decir que el sd es la raiz cuadrada de la varianza. Contestando a la pregunta del punto f, estas no pueden ser negativas
boxplot(ph)
grafica <- ggplot(pozos, aes(PH,TEMP)) + geom_point() + geom_smooth()
grafica
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
Considerando esta grafica yo diria que no estan relacionadas ya que aunque el ph aumente o disminuye la temperatura no parece cambiar ya que hasta hay varais variables ph con el mismo valor pero sale con diferente temperatura por lo que concluye de que no estan muy relacionados
##TEMP
temp<-c(pozos$TEMP)
sort(temp, 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
minimo2 <- min(temp)
print ("El valor mínimo es: ")
## [1] "El valor mínimo es: "
print(minimo2)
## [1] 25.6
maximo2 <- max(temp)
print ("El valor máximo es: ")
## [1] "El valor máximo es: "
print(maximo2)
## [1] 32.1
print ("El valor rango es: ")
## [1] "El valor rango es: "
print(maximo2-minimo2)
## [1] 6.5
intervalos<-(1+(3.3)*log(x=293, base=10))
print(intervalos)
## [1] 9.140663
print("El numero de intervalos son 9")
## [1] "El numero de intervalos son 9"
ancho2<-((maximo2-minimo2)/9)
print("El ancho de clase es:")
## [1] "El ancho de clase es:"
print(ancho2)
## [1] 0.7222222
library(fdth)
tablatemp <- fdt(temp)
tablatemp
## 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
Aqui se muestra la tabla de frecuencias de temperatura donde la primer columna es la de los intervalos y la segunda columna es decir f es la frecuencia con la que se repiten estos intervalos, por ejemplo el primer intervalo se repite 2 veces seguido por el porcentaje que representa la frecuencia del intervalo primero expresado en decimal (rf) y luego en su porcentaje (rf%) por ejemplo el primer intervalo se repite 2 veces por lo que se hace la siguiente operacion para obtener el porcentaje (2/293*100) y asi se obtiene el 0.68 que aparece. La frecuencia acumulada es lo mismo pero sumando la frecuencia anterior por ejemplo en el segundo intervalo su frecuencia es 5 por lo que cuando se llega a la columna de cf esta cambia ya que se sumo la frecuencia anterior (f) del intervalo numero 1 que en este caso era 2 por lo que 2+5 es 7 y es por ello que en el intervalo 2 en la columna cf es 7, su porcentaje (cf%) tambien cambia (7/293 por 100) y asi se realiza sucesivamente
Histograma de frecuencias
plot(tablatemp, type="fh")
Poligono de Frecuencias
plot(tablatemp, type="fp")
Histograma de Frecuencias Acumuladas
plot(tablatemp, type="cfh")
media2<-mean(temp)
paste("La media es:",media2)
## [1] "La media es: 28.69795221843"
mediana2<-median(temp)
paste("La media es:",mediana2)
## [1] "La media es: 28.7"
moda2<-mfv(temp)
paste("La media es:",moda2)
## [1] "La media es: 28.6"
Bueno el primer resultado es la media el cual es la suma de todos los valores divididos por la cantidad de elememtos que en este caso son 293, la mediana es el numero que esta justo a la mitad de los otros valores mientras la moda es el valor que mas se repite que en este caso es el 28.6
Varianza
var(temp)
## [1] 1.035407
Aqui la interpretacion que le puedo dar es que los valores que tenemos no se acercan mucho a la media puesto que la varianza no se acerca mucho al cero por lo que los datos estan un poco mas dispersos
Desviacion estandar
sd(temp)
## [1] 1.017549
De igual manera esta no se acerca al cero por lo que concluimos lo mismo que los valores no se acercan mucho a la media, cabe decir que el sd es la raiz cuadrada de la varianza. Contestando a la pregunta del punto f, estas no pueden ser negativas
boxplot(temp)
grafica <- ggplot(pozos, aes(TEMP,PH)) + geom_point() + geom_smooth()
grafica
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
Considerando esta grafica, podemos concluir lo mismo cuando el PH estaba enel eje de las x que es que el ph y la temperatura no estan relacionadas una con otra