setwd("~/UNI/ESTADISTICA")   
datos <- read.csv("Depositos_Sulfuro.csv",
                  header = TRUE,
                  sep = ";",
                  dec = ".")

# Extraer variables numéricas
area  <- as.numeric(datos$ore_area)
toneladas <-as.numeric(datos$oreton)


TPV <- data.frame( area,toneladas)

#TABLA DE PARES DE VALORES
TPV <- na.omit(TPV)
TPV <- TPV[TPV$area > 0 & TPV$toneladas > 0, ]


plot(TPV$area,TPV$toneladas,
     pch = 16,
     col = "blue",
     main = "Grafica N° : Diagrama de disperción entre el área y el tonelaje
     de los depositos de sulfuros masivos volcanicos",
     xlab = "Area en km^2",
     ylab = "Toneladas (Mt)",
     ylim = c(0,10000),
     xlim = c(0,700))

# 3. OUTLIERS ÁREA

Q1_area  <- quantile(TPV$area, 0.25)
Q3_area  <- quantile(TPV$area, 0.75)
IQR_area <- Q3_area- Q1_area

lim_inf_area <- Q1_area - 1.5 * IQR_area
lim_sup_area <- Q3_area + 1.5 * IQR_area


# 4. OUTLIERS TONELADAS

Q1_ton  <- quantile(TPV$toneladas, 0.25)
Q3_ton  <- quantile(TPV$toneladas, 0.75)
IQR_ton <- Q3_ton - Q1_ton

lim_inf_ton <- Q1_ton - 1.5 * IQR_ton
lim_sup_ton <- Q3_ton + 1.5 * IQR_ton


#TABLA SIN OUTLIERS

TPV_limpio <- TPV[
  TPV$area  >= lim_inf_area  & TPV$area <= lim_sup_area &
    TPV$toneladas >= lim_inf_ton & TPV$toneladas <= lim_sup_ton,
]
 
summary(TPV_limpio)
##       area         toneladas     
##  Min.   : 1.00   Min.   :  1.00  
##  1st Qu.: 2.00   1st Qu.: 14.25  
##  Median : 4.00   Median : 37.00  
##  Mean   :11.77   Mean   : 95.88  
##  3rd Qu.:12.75   3rd Qu.:124.75  
##  Max.   :75.00   Max.   :592.00
#Diagrama de Dispersión

plot(TPV_limpio$area,TPV_limpio$toneladas,
     pch = 16,
     col = "blue",
     main = "Grafica N° : Diagrama de disperción entre el área y el tonelaje
     de los depositos de sulfuros masivos volcanicos",
     xlab = "Area en km^2",
     ylab = "Toneladas (Mt)",
     ylim = c(0,700),
     xlim = c(0,100))

#Corresponder para una x una sola y

tabla_sup <- aggregate(toneladas~ area,
                       data = TPV_limpio,
                       FUN = max)

tabla_media <- aggregate(toneladas ~ area,
                         data = TPV_limpio,
                         FUN = mean)

tabla_inf <- aggregate(toneladas ~ area,
                       data = TPV_limpio,
                       FUN = min)

#Diagramas de dispersión
plot(tabla_inf $area,
     tabla_inf $toneladas,
     pch = 16,
     col = "blue",
     main = "Grafica N° : Diagrama de disperción entre el área y el tonelaje
     de los depositos de sulfuros masivos volcanicos",
     xlab = "Area en km^2",
     ylab = "Toneladas (Mt)",
     ylim = c(0,700),
     xlim = c(0,100))

plot(tabla_media $area,
     tabla_media $toneladas,
     pch = 16,
     col = "blue",
     main = "Grafica N° : Diagrama de disperción entre el área y el tonelaje
     de los depositos de sulfuros masivos volcanicos",
     xlab = "Area en km^2",
     ylab = "Toneladas (Mt)",
     ylim = c(0,700),
     xlim = c(0,100))

plot(tabla_sup $area,
     tabla_sup $toneladas,
     pch = 16,
     col = "blue",
     main = "Grafica N° : Diagrama de disperción entre el área y el tonelaje
     de los depositos de sulfuros masivos volcanicos",
     xlab = "Area en km^2",
     ylab = "Toneladas (Mt)",
     ylim = c(0,700),
     xlim = c(0,100))

#CONJETURAR MODELO

plot(tabla_inf $area,
     tabla_inf $toneladas,
     pch = 16,
     col = "blue",
     main = "Grafica N° : Comparación de la realidad con el modelo exponencial
     entre el área y el tonelaje de los depositos masivos de sulfuros 
     volcánicos",
     xlab = "Area en km^2",
     ylab = "Toneladas (Mt)",
     ylim = c(0,500),
     xlim = c(0,100))



x<-tabla_inf$area
y<-tabla_inf$toneladas


y1<- log(y)

#Cálculo de coefientes
regresion_exponencial<- lm(y1~x)
regresion_exponencial  
## 
## Call:
## lm(formula = y1 ~ x)
## 
## Coefficients:
## (Intercept)            x  
##     2.04521      0.04441
summary(regresion_exponencial)
## 
## Call:
## lm(formula = y1 ~ x)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.1340 -0.8859 -0.2893  0.7789  2.9312 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  2.04521    0.37514   5.452 1.02e-05 ***
## x            0.04441    0.01131   3.928 0.000564 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.327 on 26 degrees of freedom
## Multiple R-squared:  0.3724, Adjusted R-squared:  0.3482 
## F-statistic: 15.43 on 1 and 26 DF,  p-value: 0.0005645
beta0<-regresion_exponencial$coefficients[1]
beta1<-regresion_exponencial$coefficients[2]

b<-beta1
a<-exp(beta0)

#Generar la curva
curve(a*exp(b*x), from = 0.0, to = 700, add = TRUE)

#TEST DE PEARSON
r<-cor(x,y1)
r*100
## [1] 61.02283