1. CARGA DE DATOS

knitr::opts_chunk$set(
  echo = TRUE,                   
  message = FALSE,
  warning = FALSE,               
  fig.align = "center"           
)

datos <- read.csv("C:/Users/USER/Downloads/regresion_logaritmica.csv", 
                  header = TRUE, 
                  sep = ";",     
                  dec = ",",     
                  fileEncoding = "latin1")

# Verificación inicial
str(datos)
## 'data.frame':    400 obs. of  2 variables:
##  $ Hf_ppm_MS_ST : num  1.45 1.18 1.33 1.26 1.69 ...
##  $ Zr_ppm_AES_ST: num  97.1 99.3 101.1 107.8 115 ...
# CARGA DE LIBRERÍAS 
library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(knitr)
library(gt)
library(MASS) # Necesaria para Estimación robusta
## 
## Adjuntando el paquete: 'MASS'
## The following object is masked from 'package:dplyr':
## 
##     select

2. TABLA DE PARES DE VALORES

VAR_X <- as.numeric(datos$Hf_ppm_MS_ST)
VAR_Y <- as.numeric(datos$Zr_ppm_AES_ST)

# Crear pares de valores
TPV <- data.frame(VAR_X, VAR_Y)

# Limpieza de datos nulos, ceros y negativos
TPV <- na.omit(TPV)
TPV <- TPV[TPV$VAR_X > 0 & TPV$VAR_Y > 0, ]

# Permitir que R imprima muchos valores
options(max.print = 100000)

# Mostrar todos los valores
print(TPV, row.names = FALSE)
##   VAR_X    VAR_Y
##  1.4453  97.1471
##  1.1836  99.2623
##  1.3319 101.1309
##  1.2604 107.7597
##  1.6865 114.9736
##  2.0159 120.5713
##  2.0500 115.6072
##  2.2900 112.5838
##  0.8399  82.9711
##  2.5420 125.0000
##  0.6665  68.6464
##  1.3023 106.3341
##  0.4799  74.6079
##  0.6242  65.7812
##  2.1261 106.1106
##  0.6776  77.9295
##  0.7019  75.3885
##  1.0272  92.1295
##  0.7147  78.2920
##  1.7230 102.1732
##  0.9713  95.4584
##  1.6708 111.1076
##  0.4887  64.4891
##  1.5271 114.3189
##  0.7591  78.2093
##  1.2927  91.5340
##  2.0587 117.0488
##  1.1827  97.6344
##  0.7980  84.7629
##  2.3402 125.0000
##  1.3434 103.2313
##  1.2051  99.0006
##  3.1446 125.0000
##  2.3901 115.5977
##  1.0629  95.9004
##  0.9624  89.7710
##  0.4647  68.5739
##  1.3654  90.4857
##  1.6936 105.1308
##  1.9783 125.0000
##  0.5545  72.9294
##  0.6028  74.4650
##  1.7602 114.7711
##  0.7394  89.9416
##  0.9466  98.1173
##  2.0117 103.0846
##  1.2677  91.0916
##  1.2121  87.3750
##  0.8681  81.3709
##  1.3458 100.5465
##  1.3285 101.1921
##  1.3399  90.9606
##  1.2171  86.0598
##  1.5564 100.5223
##  1.3732 106.4543
##  1.6158 113.9379
##  1.5629 116.5689
##  1.1678  95.0308
##  2.2094 124.7974
##  0.6156  78.2480
##  1.3393  97.0944
##  2.9032 125.0000
##  0.5839  75.0144
##  2.2226 111.3368
##  1.2408 106.7515
##  0.6818  76.9223
##  2.1952 118.7297
##  1.9163 106.1862
##  1.4305  97.6084
##  0.6754  66.9407
##  1.7595 110.2704
##  1.0557 105.0378
##  0.7889  77.0292
##  0.6227  87.2171
##  1.7985 120.5321
##  0.9485  85.6222
##  1.9755 114.3429
##  3.1924 125.0000
##  1.7746 121.9839
##  1.2929 101.8162
##  1.9858 123.0441
##  1.1431  96.4404
##  1.0885  92.1580
##  1.3532 102.3657
##  0.9275  85.2191
##  2.7432 113.2739
##  1.9908 120.4333
##  0.4658  59.3010
##  1.1592  93.4600
##  1.9015 109.5775
##  1.1909  99.5132
##  3.0036 125.0000
##  1.8390 119.9988
##  0.7954  85.3195
##  1.2180  93.1107
##  1.2779  97.3162
##  1.1735  93.5454
##  0.9352  85.1725
##  0.9441  85.8279
##  0.4731  64.0702
##  0.9832  86.8124
##  3.0007 125.0000
##  1.1363  88.4566
##  2.3132 114.0984
##  1.3191  90.1628
##  0.4552  70.3363
##  0.9179  82.9194
##  0.6958  80.7478
##  1.2177  99.3798
##  0.5464  75.6849
##  0.9694  87.6944
##  2.3626 113.0206
##  1.5401  95.1156
##  2.1983  96.2798
##  1.2835  99.4764
##  2.1700 123.6478
##  0.5877  74.4175
##  1.3036  90.1122
##  1.6477 114.3828
##  1.2271  92.9716
##  0.5825  68.2367
##  0.8465  80.6912
##  2.7089 125.0000
##  0.7721  74.1659
##  2.1379 116.7807
##  2.0150 118.0662
##  1.0313  96.7283
##  2.0602 117.0195
##  0.6758  70.8010
##  2.1020 117.5727
##  0.8192  78.0111
##  1.1727  89.1214
##  0.9191  80.1185
##  2.9464 110.9721
##  0.9429  84.9495
##  0.9331  93.1800
##  1.3864 114.9306
##  2.1958 113.5669
##  0.9774  94.6492
##  2.7301 122.6604
##  1.4144  91.9055
##  0.7253  82.3169
##  1.0517  92.8197
##  0.4827  73.7827
##  2.0960 104.6510
##  0.6631  88.6706
##  0.8017  89.9649
##  0.7817  81.4673
##  2.6552 122.5257
##  2.6726 119.0566
##  0.7390  80.2160
##  2.2565 117.6083
##  0.5806  74.2172
##  1.1179  92.0792
##  2.1578 125.0000
##  1.4978 104.8386
##  0.9532  86.8886
##  1.2699 104.0966
##  2.0229 102.9300
##  0.6868  78.8719
##  1.0937  93.0643
##  1.4853  94.9073
##  2.4945 108.3197
##  2.3549 125.0000
##  0.7905  86.4839
##  0.6110  74.3627
##  0.5423  77.1116
##  2.0259 118.3608
##  0.6950  83.3775
##  0.5428  71.7030
##  1.2435  95.8378
##  0.7486  75.2161
##  1.1215  90.5004
##  0.9656  87.3203
##  0.6892  83.6007
##  1.0803  96.6394
##  2.4146 124.3469
##  1.4265 107.6400
##  0.6032  75.4888
##  0.9899  90.8446
##  2.4555 109.6384
##  1.0672  98.1668
##  1.8656 108.7790
##  3.1020 125.0000
##  0.6256  79.5436
##  0.7521  77.1628
##  0.7167  83.0580
##  0.8568  82.8338
##  1.4460 100.5915
##  1.0507  92.9052
##  0.9150  88.2358
##  2.1146 116.9545
##  0.6388  69.1381
##  2.8365 125.0000
##  1.1276 106.4752
##  1.3514  83.7396
##  0.6120  77.4436
##  1.3332 106.1578
##  1.3054  91.1609
##  1.4785 100.6478
##  1.0187  85.2284
##  2.0374 125.0000
##  1.3711 107.5200
##  1.9426 121.9001
##  0.5231  69.3169
##  2.0970 125.0000
##  0.5203  68.6199
##  1.9183 122.8746
##  2.1025 115.3127
##  0.7644  77.6315
##  2.1408 125.0000
##  1.6799 108.0646
##  2.6255 116.8549
##  3.0759 121.8406
##  0.7275  75.0267
##  3.0516 125.0000
##  1.1454  93.9886
##  1.0546 103.8910
##  2.9146 125.0000
##  1.1824  97.0878
##  1.1112 101.1227
##  0.4548  62.6617
##  2.9881 111.8692
##  0.5982  68.6769
##  1.0180  91.2203
##  1.9314 111.6970
##  0.4566  68.0608
##  2.4570 121.2051
##  1.3122 103.7246
##  0.8562  91.9034
##  0.7994  81.6816
##  1.0261  93.6403
##  0.7511  72.0729
##  0.6397  74.5152
##  0.4930  61.9955
##  0.7589  81.2556
##  1.5161 105.9824
##  1.2373  98.5738
##  1.1959  93.3421
##  0.7454  90.6549
##  0.4696  60.4681
##  3.0005 117.0225
##  1.4706 113.7099
##  1.8339 106.4524
##  2.0424 108.2947
##  0.7169  89.2591
##  0.6272  78.7563
##  0.5118  65.7008
##  1.3683 102.1186
##  1.2979 110.3276
##  1.8916 117.4983
##  3.0211 125.0000
##  0.7297  83.0018
##  1.5733 111.8355
##  0.4941  67.2603
##  1.3258  99.7542
##  1.1227  95.2962
##  1.1397  98.4039
##  0.9790  87.6484
##  1.0421  91.9015
##  1.9031 110.5381
##  1.3674 101.4810
##  1.0794  85.7462
##  0.6183  85.3460
##  1.7380 104.4413
##  1.1073  91.3909
##  1.0599  87.4719
##  1.4407 106.4537
##  1.3024  97.9047
##  0.8234  78.6354
##  0.5659  74.0128
##  1.8090 116.4311
##  0.9385  87.3323
##  0.8174  79.8436
##  3.1532 125.0000
##  2.1037 119.0613
##  0.8986  79.8586
##  1.9222 123.3581
##  1.5732 100.2936
##  1.2729 114.1469
##  0.6800  77.3683
##  2.2101 125.0000
##  0.7993  72.3888
##  1.3714  93.1650
##  2.4806 125.0000
##  0.9916  91.1927
##  1.3001 110.9612
##  1.4254 105.2474
##  0.9224  87.8134
##  0.6517  83.2513
##  2.6256 125.0000
##  0.7461  79.1096
##  0.7267  74.1272
##  1.0291  78.3373
##  1.3744  98.3320
##  0.9590  82.3430
##  1.2974 114.1282
##  1.8196 106.5660
##  0.6035  70.2939
##  1.0694  84.0039
##  0.5601  69.7759
##  0.4989  64.6630
##  1.9406 125.0000
##  2.3759 122.3826
##  1.1418  94.3759
##  1.6502 106.6629
##  1.3139 103.9971
##  2.2360 115.1512
##  0.7707  84.2176
##  1.2135 105.7089
##  0.5384  71.6198
##  0.6798  75.8784
##  0.8058  78.0035
##  0.9275  85.8850
##  0.6362  77.3642
##  2.2555 106.8542
##  1.2568 102.5869
##  1.3562 101.7373
##  2.0351 114.1251
##  0.9365  84.2605
##  0.8558  82.2312
##  3.0867 125.0000
##  3.0455 125.0000
##  0.5299  67.1209
##  0.5636  73.0840
##  0.7547  82.7647
##  0.5578  65.4971
##  1.9113 117.0443
##  0.8158  94.9598
##  1.3875 104.1515
##  1.4373  92.1012
##  0.6610  76.8948
##  1.4517  91.5871
##  2.6976 125.0000
##  1.9544 125.0000
##  0.7206  75.8324
##  1.9492  97.2824
##  0.7570  76.3980
##  0.5358  68.7864
##  1.0128  81.0614
##  0.5982  72.6512
##  1.0514  90.5659
##  2.7666 125.0000
##  1.7756 111.8102
##  1.0113  85.1783
##  0.6272  70.6986
##  1.3643 100.9806
##  0.6652  73.4893
##  0.5052  71.4924
##  1.0496  91.6918
##  1.2586 108.6031
##  1.2247 101.5536
##  1.0211  96.3424
##  3.0428 125.0000
##  1.0632  92.7867
##  0.4850  73.5856
##  1.7560 107.2221
##  0.6355  77.2566
##  1.0747  90.8917
##  1.1266  92.4846
##  1.0519  85.3643
##  0.5639  67.9628
##  1.3013  93.5829
##  2.9574 125.0000
##  1.0770  97.9777
##  0.9204  86.5342
##  0.7740  82.3042
##  0.6674  75.7294
##  1.1000  88.7322
##  0.5341  73.0452
##  2.4186 125.0000
##  1.3129  88.1952
##  1.3425  98.4478
##  0.8833  81.2594
##  0.4741  64.2892
##  0.5208  65.9026
##  2.4756 122.1431
##  0.7358  78.0431
##  3.1690 125.0000
##  1.8742 120.0930
##  1.1864  98.8904
##  0.5390  66.7790
##  0.4587  62.6688
##  1.4940 107.0505
##  2.2774 123.3448
##  1.1426  91.1187
##  0.9981  88.5540
##  0.5525  78.2689
##  1.1064  90.1399
##  0.8603  94.0857
##  1.2264 103.2183
##  1.8735 124.4789
##  0.7591  77.6485
##  3.1243 125.0000
##  0.5104  66.2180
##  0.7078  83.4386
##  2.5566 118.8481
##  2.2671 125.0000
##  1.4359 106.7134
##  2.7105 125.0000

3. DIAGRAMA DE DISPERSIÓN

plot(TPV$VAR_X, TPV$VAR_Y,
     pch = 16,
     col = "darkblue",
     cex = 0.7,
     main = "Gráfica N°1: Diagrama de Dispersión\nHafnio (Hf) sobre Circonio (Zr)",
     xlab = "Concentración de Hafnio (ppm)",
     ylab = "Concentración de Circonio (ppm)")

grid(nx = NULL, ny = NULL, col = "lightgray", lty = "dotted")

4. CONJETURA DEL MODELO

Debido a la similitud de la nube de puntos conjeturamos a un modelo logarítmico

# Modelo logarítmico: Y = a + b ln(X)
regresion_logaritmico <- lm(VAR_Y ~ log(VAR_X), data = TPV)

summary(regresion_logaritmico)
## 
## Call:
## lm(formula = VAR_Y ~ log(VAR_X), data = TPV)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -20.2335  -3.7609  -0.1579   3.6402  15.6218 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  90.5810     0.3160  286.68   <2e-16 ***
## log(VAR_X)   32.9221     0.5838   56.39   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.002 on 398 degrees of freedom
## Multiple R-squared:  0.8888, Adjusted R-squared:  0.8885 
## F-statistic:  3180 on 1 and 398 DF,  p-value: < 2.2e-16
# Extraer coeficientes
a <- coef(regresion_logaritmico)[1]
b <- coef(regresion_logaritmico)[2]

# Gráfico con curva logarítmica
plot(TPV$VAR_X, TPV$VAR_Y,
     pch = 16,
     col = "blue",
     cex = 0.7,
     main = "Gráfica N°2: Modelo Logarítmico\nHafnio (Hf) sobre Circonio (Zr)",
     xlab = "Concentración de Hafnio (ppm)",
     ylab = "Concentración de Circonio (ppm)")

grid(nx = NULL, ny = NULL, col = "lightgray", lty = "dotted")

# Crear valores ordenados para que la curva salga suave
x_ordenado <- seq(min(TPV$VAR_X), max(TPV$VAR_X), length.out = 400)

y_ajustado <- a + b * log(x_ordenado)

lines(x_ordenado, y_ajustado,
      col = "red",
      lwd = 2)

4.1 ECUACIÓN DEL MODELO

plot(1, type = "n", axes = FALSE, xlab = "", ylab = "")

eq <- paste0(
  "Ecuación logarítmica\n",
  "Y = a + b log(x)\n",
  "Y = ", round(a, 2), " + ", round(b, 2), " log(x)"
)

text(1, 1, labels = eq, cex = 1.7, col = "blue", font = 2)

5. TEST DE APROBACIÓN Y RESTRICCIONES

5.1 Test de pearson

r <- cor(log(TPV$VAR_X), TPV$VAR_Y)
r * 100
## [1] 94.27403

5.2 COEFICIENTE DE DETERMINACIÓN

r2 <- r^2
r2 * 100
## [1] 88.87593

5.3 RESTRICCIONES

min(TPV$VAR_X)
## [1] 0.4548
max(TPV$VAR_X)
## [1] 3.1924

Sí existe una restricción de aplicabilidad, ya que el modelo logarítmico es estadísticamente confiable únicamente dentro del rango de valores observados del contenido de Hafnio (ppm), el cual varía entre 0.4548 y 3.1924. Al intentar realizar predicciones fuera de este intervalo, el modelo pierde capacidad predictiva y puede no representar adecuadamente el comportamiento geoquímico real de las muestras de minas archivadas.

6. ESTIMACIÓN DE PRONÓSTICO

¿Cuál sería la concentración esperada de Circonio si el contenido analizado de Hafnio es de 2 ppm?

# 1. Definimos el valor de entrada para el elemento independiente
x_input <- 2 

# 2. Aplicamos la ecuación del modelo logarítmico: Y = a + b * ln(X)
y_esp <- a + (b * log(x_input))

# 3. Imprimimos el valor exacto en consola para verificación
cat("Concentración esperada calculada:", y_esp, "\n")
## Concentración esperada calculada: 113.4009
# 4. Generamos el gráfico de presentación
plot(1, type = "n", axes = FALSE, xlab = "", ylab = "") 

resultado_texto <- paste0(
  "¿Cuál sería la concentración esperada de Circonio (Zr)\n",
  "si el contenido analizado de Hafnio (Hf) es de ", x_input, " ppm?\n\n",
  "R = ", round(y_esp, 4), " ppm"
)

text(x = 1, y = 1,
     labels = resultado_texto,
     cex = 1.3,      
     col = "blue", 
     font = 2)       

7. CONCLUSIÓN

Entre el contenido de Hafnio (ppm) y la concentración de Circonio (ppm) se observa una relación de tipo logarítmica, representada por el modelo \(f(x) =90.58+32.92 \log(x)\), donde \(x\) corresponde al contenido de Hafnio y \(y\) a la concentración de Circonio. El modelo presenta una alta confiabilidad dentro del rango geoquímico observado, el cual varía entre 0.4548 y 3.1924 de Hafnio. Se determina que la variabilidad en la concentración de Circonio está explicada significativamente por el modelo logarítmico, mientras que el porcentaje residual de la variabilidad se atribuye a factores geológicos, variaciones en la cristalización fraccionada o la saturación del sistema mineralizante no contemplados en este análisis.

Ejemplo de aplicación: Cuando el contenido de Hafnio es de 2 ppm, el modelo predice una concentración de Circonio aproximada de 113.4009 ppm.