1. CARGA DE DATOS Y LIBRERÍAS

CARGA DE DATOS

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

# Carga de datos limpia para evitar errores de sintaxis
datos <- read.csv("C:/Users/Martin/Desktop/Estadistica/CMDB_Data.csv", header = TRUE, sep = ";", dec = ".", fileEncoding = "latin1")

# Limpieza básica para evitar valores en blanco o nulos
datos$SUBMITTER[datos$SUBMITTER == ""] <- "Desconocido"
datos$SUBMITTER[is.na(datos$SUBMITTER)] <- "Desconocido"
datos$SUBMITTER[tolower(datos$SUBMITTER) == "unknown"] <- "Desconocido"

# Verificación inicial del set de datos
str(datos)
## 'data.frame':    1366 obs. of  103 variables:
##  $ ï..LAB_ID            : chr  "C355417" "C360759" "C360762" "C360763" ...
##  $ PREVIOUS_LAB_ID1     : chr  "" "" "" "" ...
##  $ PREVIOUS_LAB_ID2     : chr  "" "" "" "" ...
##  $ PREVIOUS_LAB_ID3     : chr  "" "" "" "" ...
##  $ FIELD_ID             : chr  "RM0001" "RM0027" "RM0030" "RM0031" ...
##  $ JOB_ID               : chr  "MRP11968" "MRP12307" "MRP12307" "MRP12307" ...
##  $ PREVIOUS_JOB_ID1     : chr  "" "" "" "" ...
##  $ PREVIOUS_JOB_ID2     : chr  "" "" "" "" ...
##  $ PREVIOUS_JOB_ID3     : chr  "" "" "" "" ...
##  $ SUBMITTER            : chr  "Rare Metals Task" "Rare Metals Task" "Rare Metals Task" "Rare Metals Task" ...
##  $ PROJECT_NAME         : chr  "Critical and Rare Metals" "Critical and Rare Metals" "Critical and Rare Metals" "Critical and Rare Metals" ...
##  $ DATE_SUBMITTE        : chr  "30/6/2011" "31/8/2011" "31/8/2011" "31/8/2011" ...
##  $ COLLECTION           : chr  "Mackay-Keck Ore Deposits Collection" "Mackay-Stanford Ore Deposits Collection" "Mackay-Stanford Ore Deposits Collection" "Mackay-Stanford Ore Deposits Collection" ...
##  $ COLLECTION_ID        : chr  "PHNC08_39_1183" "OD21441" "OD22811" "OD25716" ...
##  $ CONTINENT            : chr  "North America" "South America" "South America" "Africa" ...
##  $ COUNTRY              : chr  "United States" "Chile" "Chile" "South Africa" ...
##  $ STATE_PROVINCE       : chr  "Nevada" "Antofagasta" "Tarapacá" "Transvaal" ...
##  $ COUNTY               : chr  "Lyon" "El Loa" "El Tamarugal" "" ...
##  $ DISTRICT_NAME        : chr  "Yerington" "Chuquicamata" "Collahuasi/Quebrada Blanca" "" ...
##  $ DEPOSIT_NAME         : chr  "Pumpkin Hollow" "" "" "" ...
##  $ MINE_NAME            : chr  "Pumpkin Hollow" "Chuquicamata mine" "Collahuasi district" "" ...
##  $ DISTRICT_NAME_COLLECT: chr  "Yerington" "" "" "" ...
##  $ DEPOSIT_NAME_COLLECT : chr  "" "" "" "" ...
##  $ MINE_NAME_COLLECT    : chr  "Pumpkin Hollow" "Chuquicamata" "Poduosa mine" "Messina Mines Ltd." ...
##  $ LOCATE_DESC          : chr  "" "" "Level 25" "" ...
##  $ LATITUDE             : chr  "38,94021" "-22,2871" "-21,0309" "-24,7" ...
##  $ LONGITUDE            : chr  "-119,05178" "-68,8991" "-68,74951" "29,3" ...
##  $ DATUM                : chr  "WGS84" "WGS84" "WGS84" "" ...
##  $ LATITUDE_COLLECT     : chr  "38,92492" "22,28944" "" "" ...
##  $ LONGITUDE_COLLECT    : chr  "-119,1071" "-68,90111" "" "" ...
##  $ DATUM_COLLECT        : chr  "" "WGS84" "" "" ...
##  $ COORDINATES_QUAL     : chr  "100 m" "0m" "" "" ...
##  $ COORDINATES_SOURCE   : chr  "1) iTouchMap.com, approx, A. Orkild-Norton; 2) Mineral Resource Deposit Database Deposit ID 10174173, ore body, M. Granitto" "1) Mindat.org, approx, A. Orkild-Norton; 2) Open-File Report 2017-1079 ID 549, mine, M. Granitto" "1) No coordinates; 2) Mineral Resource Deposit Database Deposit ID 10057511, district, M. Granitto" "1) No coordinates; 2) Google Earth Pro, approx ctr of former province of Transvaal, M. Granitto" ...
##  $ PRIMARY_CLASS        : chr  "rock" "rock" "rock" "rock" ...
##  $ SYSTEM_TYPE          : chr  "IOA-IOCG" "Porphyry Cu-Mo-Au" "Porphyry Cu-Mo-Au" "IOA-IOCG" ...
##  $ DEPOSIT_TYPE         : chr  "IOCG" "Supergene Cu" "Porphyry Cu" "IOCG" ...
##  $ SAMPLE_DESC          : chr  "Nearly solid chalcopyrite mixed with small light brown irregular inclusions of unknown mineralogy; clouds of ma"| __truncated__ "Chalcocite-bronchatite-antlerite(?); highly microfractured igneous rock with green copper sulfates coating microfractures" "Bornite-chalcopyrite; mostly massive chalcopyrite with numerous inclusions of micro-chalcopyrite and widely sca"| __truncated__ "Massive chalcopyrite, IOCG in shear zone; mostly massive fine grain cuprite with widely distributed malachite t"| __truncated__ ...
##  $ Al_pct_AES_ST        : chr  "0,33" "6,65" "0,46" "0,7" ...
##  $ Ca_pct_AES_ST        : chr  "1,1" "0,4" "-0,1" "0,3" ...
##  $ Fe_pct_AES_ST        : chr  "42,4" "0,25" "6,98" "27,8" ...
##  $ K_pct_AES_ST         : chr  "-0,1" "6,1" "0,2" "-0,1" ...
##  $ Mg_pct_AES_ST        : chr  "0,57" "0,1" "0,01" "0,33" ...
##  $ Mn_pct_AES_ST        : chr  "0,02" "-0,01" "-0,01" "-0,01" ...
##  $ P_pct_AES_ST         : chr  "-0,01" "0,01" "0,05" "0,01" ...
##  $ S_pct_AES_ST         : chr  "" "" "" "" ...
##  $ Si_pct_AES_ST        : chr  "" "" "" "" ...
##  $ Ti_pct_AES_ST        : chr  "0,01" "0,11" "-0,01" "-0,01" ...
##  $ F_pct_ISE_Fuse       : chr  "" "" "" "" ...
##  $ Ag_ppm_MS_ST         : chr  "58" "6" "468" "16" ...
##  $ As_ppm_MS_ST         : chr  "-30" "-30" "90" "-30" ...
##  $ Au_ppm               : chr  "" "" "" "" ...
##  $ Au_AM                : chr  "" "" "" "" ...
##  $ B_ppm_AES_ST         : int  NA NA NA NA NA NA NA NA NA NA ...
##  $ Ba_ppm_AES_ST        : chr  "-0,5" "924" "121" "174" ...
##  $ Be_ppm_AES_ST        : int  -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 ...
##  $ Bi_ppm_MS_ST         : chr  "1,5" "3,6" "190" "0,4" ...
##  $ Cd_ppm_MS_ST         : chr  "3,6" "-0,2" "0,9" "-0,2" ...
##  $ Ce_ppm_MS_ST         : chr  "0,4" "8,8" "16,3" "3,5" ...
##  $ Co_ppm_MS_ST         : chr  "209" "-0,5" "1,3" "44,8" ...
##  $ Cr_ppm_AES_ST        : int  -10 -10 -10 30 20 20 60 40 20 10 ...
##  $ Cs_ppm_MS_ST         : chr  "0,5" "1,4" "0,2" "-0,1" ...
##  $ Cu_ppm_AES_ST        : chr  "50000,11111" "23300" "50000,11111" "50000,11111" ...
##  $ Dy_ppm_MS_ST         : chr  "-0,05" "0,32" "1,38" "0,37" ...
##  $ Er_ppm_MS_ST         : chr  "-0,05" "0,22" "0,77" "0,23" ...
##  $ Eu_ppm_MS_ST         : chr  "-0,05" "0,14" "0,17" "0,1" ...
##  $ Ga_ppm_MS_ST         : chr  "5" "15" "6" "3" ...
##  $ Gd_ppm_MS_ST         : chr  "-0,05" "0,45" "1,5" "0,39" ...
##  $ Ge_ppm_MS_ST         : int  -1 5 -1 -1 3 8 8 1 2 2 ...
##  $ Hf_ppm_MS_ST         : int  -1 4 -1 -1 5 13 12 2 3 6 ...
##  $ Ho_ppm_MS_ST         : chr  "-0,05" "0,07" "0,25" "0,07" ...
##  $ In_ppm_MS_ST         : chr  "6,4" "-0,2" "3,7" "0,2" ...
##  $ La_ppm_MS_ST         : chr  "0,2" "4,6" "7,2" "1,7" ...
##  $ Li_ppm_AES_ST        : int  -10 -10 -10 -10 30 20 20 20 -10 20 ...
##  $ Lu_ppm_MS_ST         : chr  "-0,05" "-0,05" "0,08" "-0,05" ...
##  $ Mo_ppm_MS_ST         : chr  "-2" "60" "3" "2" ...
##  $ Nb_ppm_MS_ST         : chr  "-1" "4" "-1" "-1" ...
##  $ Nd_ppm_MS_ST         : chr  "0,2" "3,8" "9,1" "1,7" ...
##  $ Ni_ppm_AES_ST        : chr  "144" "6" "-5" "48" ...
##  $ Pb_ppm_MS_ST         : chr  "23" "16" "188" "39" ...
##  $ Pd_ppm_FA_MS         : chr  "" "" "" "" ...
##  $ Pr_ppm_MS_ST         : chr  "-0,05" "1,09" "2,21" "0,46" ...
##  $ Pt_ppm_FA_MS         : chr  "" "" "" "" ...
##  $ Rb_ppm_MS_ST         : chr  "1,2" "148" "7,1" "0,7" ...
##  $ Re_ppm_MS_HF         : chr  "" "" "" "" ...
##  $ Sb_ppm_MS_ST         : chr  "1,2" "2,4" "2,9" "0,3" ...
##  $ Sc_ppm_AES_ST        : int  -5 -5 -5 -5 11 6 15 10 5 6 ...
##  $ Se_ppm_MS_ST         : int  NA NA NA NA NA NA NA NA NA NA ...
##  $ Sm_ppm_MS_ST         : chr  "-0,1" "0,6" "1,6" "0,4" ...
##  $ Sn_ppm_MS_ST         : chr  "2" "3" "106" "-1" ...
##  $ Sr_ppm_AES_ST        : chr  "26,6" "114" "22,5" "38,4" ...
##  $ Ta_ppm_MS_ST         : chr  "-0,5" "-0,5" "-0,5" "-0,5" ...
##  $ Tb_ppm_MS_ST         : chr  "-0,05" "0,07" "0,23" "-0,05" ...
##  $ Te_ppm_MS_ST         : chr  "" "" "" "" ...
##  $ Th_ppm_MS_ST         : chr  "0,2" "9,7" "2,6" "0,2" ...
##  $ Tl_ppm_MS_ST         : chr  "-0,5" "0,5" "-0,5" "-0,5" ...
##  $ Tm_ppm_MS_ST         : chr  "-0,05" "-0,05" "0,08" "-0,05" ...
##  $ U_ppm_MS_ST          : chr  "0,3" "1,75" "0,63" "34,8" ...
##  $ V_ppm_AES_ST         : int  51 24 -5 493 68 20 40 159 39 61 ...
##  $ W_ppm_MS_ST          : chr  "-1" "28" "22" "11" ...
##   [list output truncated]

Se cargaron correctamente los datos para el análisis de la variable

2. SELECCIÓN DE LA VARIABLE

VARIABLE SELECCIONADA: SUBMITTER

# Seleccionar la variable que será analizada
variable_seleccionada <- datos$SUBMITTER
nombre_variable <- "SUBMITTER"

cat("Variable seleccionada:", nombre_variable, "\n")
## Variable seleccionada: SUBMITTER
cat("Categorías con mayor frecuencia:\n")
## Categorías con mayor frecuencia:
print(head(sort(table(variable_seleccionada), decreasing = TRUE), 10))
## Rare Metals Task 
##             1366

3. TABLA DE DISTRIBUCIÓN DE FRECUENCIAS

DISTRIBUCIÓN DE FRECUENCIAS POR REMITENTE (TOP 10)

# Cargar las librerías necesarias
library(dplyr)
library(gt)

# 1. CONTAR LAS MUESTRAS POR REMITENTE Y ELIMINAR DESCONOCIDOS
TDFSUB <- table(datos$SUBMITTER)
TDFSUB <- TDFSUB[names(TDFSUB) != "Desconocido"]

# 2. ORDENAR DE MAYOR A MENOR Y LIMITAR A UN MÁXIMO DE 10
TDFSUB_ORD <- sort(TDFSUB, decreasing = TRUE)
n_max <- min(10, length(TDFSUB_ORD)) # Garantiza que no haya más de 10 barras/filas
Top10_Sub <- head(TDFSUB_ORD, n_max)

# SOLUCIÓN AL ERROR: Construcción explícita del Data Frame
tabla_agrupada <- data.frame(
  Remitente = names(Top10_Sub),
  ni = as.numeric(Top10_Sub),
  stringsAsFactors = FALSE
)

# 3. CALCULAR PROPORCIONES Y PORCENTAJES (Sobre el total general válido)
total_muestras <- sum(TDFSUB_ORD)
tabla_agrupada$hi <- tabla_agrupada$ni / total_muestras
tabla_agrupada$hi_porc <- round(tabla_agrupada$hi * 100, 2)

# 4. CREAR LA FILA DE TOTALES DEL TOP MOSTRADO
Total <- data.frame(Remitente = paste("TOTAL (TOP", n_max, ")"),
                    ni = sum(tabla_agrupada$ni),
                    hi = sum(tabla_agrupada$hi),
                    hi_porc = sum(tabla_agrupada$hi_porc))

# 5. UNIR TODO EN UNA SOLA TABLA FINAL
tabla_final <- rbind(tabla_agrupada, Total)

# 6. MOSTRAR LA TABLA CON LA ESTÉTICA 'gt'
tabla_sub_gt <- tabla_final %>%
  gt() %>%
  tab_header(
    title = md("**Tabla N° 1**"),
    subtitle = md(paste("Distribución de muestras (Top", n_max, "Remitentes)"))
  ) %>%
  tab_source_note(
    source_note = md("Autores: Grupo 1 <br> Semestre 2026 - 2026")
  ) %>%
  tab_options(
    table.border.top.color = "black",
    table.border.bottom.color = "black",
    heading.border.bottom.color = "black",
    heading.border.bottom.width = px(2),
    column_labels.border.top.color = "black",
    column_labels.border.bottom.color = "black",
    column_labels.border.bottom.width = px(2),
    table_body.hlines.color = "gray",
    table_body.border.bottom.color = "black",
    row.striping.include_table_body = TRUE
  )

# Renderizar la tabla en el documento
tabla_sub_gt
Tabla N° 1
Distribución de muestras (Top 1 Remitentes)
Remitente ni hi hi_porc
Rare Metals Task 1366 1 100
TOTAL (TOP 1 ) 1366 1 100
Autores: Grupo 1
Semestre 2026 - 2026

4. CLASIFICACIÓN DE CATEGORÍAS

TOP 5 VS OTROS REMITENTES

# 1. SEPARAR EL TOP 5 DE LOS DEMÁS REMITENTES
n_top5 <- min(5, length(TDFSUB_ORD))
Top5_Sub <- head(TDFSUB_ORD, n_top5)
Otros_Sub <- total_muestras - sum(Top5_Sub)

# 2. CREAR UN NUEVO CONJUNTO AGRUPADO SÓLO SI HAY MÁS DE 5 DATOS
if(Otros_Sub > 0) {
  Datos_Agrupados <- c(Top5_Sub, "Otros Remitentes" = Otros_Sub)
} else {
  Datos_Agrupados <- Top5_Sub
}

# 3. ESTRUCTURAR LA NUEVA TABLA EXPLÍCITAMENTE (Para evitar el mismo error)
tabla_top5 <- data.frame(
  Remitente = names(Datos_Agrupados),
  ni = as.numeric(Datos_Agrupados),
  stringsAsFactors = FALSE
)

# 4. CALCULAR PROPORCIONES
tabla_top5$hi <- tabla_top5$ni / sum(tabla_top5$ni)
tabla_top5$hi_porc <- round(tabla_top5$hi * 100, 2)

# 5. FILA DE TOTALES GENERALES
Total_Clasif <- data.frame(Remitente = "TOTAL GENERAL", 
                           ni = sum(tabla_top5$ni), 
                           hi = sum(tabla_top5$hi), 
                           hi_porc = sum(tabla_top5$hi_porc))

tabla_final_clasif <- rbind(tabla_top5, Total_Clasif)

# 6. ACOPLAR Y MOSTRAR LA TABLA CON LA ESTÉTICA 'gt'
tabla_clasif_gt <- tabla_final_clasif %>%
  gt() %>%
  tab_header(
    title = md("**Tabla N° 2**"),
    subtitle = md("Comparativa de los remitentes principales vs el resto")
  ) %>%
  tab_source_note(
    source_note = md("Autores: Grupo 1 <br> Semestre 2026 - 2026")
  ) %>%
  tab_options(
    table.border.top.color = "black",
    table.border.bottom.color = "black",
    heading.border.bottom.color = "black",
    heading.border.bottom.width = px(2),
    column_labels.border.top.color = "black",
    column_labels.border.bottom.color = "black",
    column_labels.border.bottom.width = px(2),
    table_body.hlines.color = "gray",
    table_body.border.bottom.color = "black",
    row.striping.include_table_body = TRUE
  )

# Renderizar la tabla en el documento
tabla_clasif_gt
Tabla N° 2
Comparativa de los remitentes principales vs el resto
Remitente ni hi hi_porc
Rare Metals Task 1366 1 100
TOTAL GENERAL 1366 1 100
Autores: Grupo 1
Semestre 2026 - 2026

5. VISUALIZACIÓN DE COMPARATIVAS BÁSICAS

GRÁFICA DE BARRAS LOCAL Y GLOBAL (TOP 10)

# Ajustar margen inferior generoso por si los nombres de instituciones/personas son largos
par(mar = c(12, 4, 4, 2) + 0.1)

limite_y_local <- max(Top10_Sub) * 1.2

# 1. PRIMERA GRÁFICA (LOCAL)
barplot(Top10_Sub, 
        main = paste("Gráfica 1: Top", n_max, "Remitentes (LOCAL)"), 
        ylab = "Cantidad de muestras aportadas",                               
        col = "pink", 
        las = 2,               # Nombres rotados en vertical
        cex.names = 0.7,       
        ylim = c(0, limite_y_local))    

# 2. SEGUNDA GRÁFICA (GLOBAL - EJE Y AL TOTAL DE DATOS USADOS)
# 'total_muestras' es el 100% de la base de datos validada
barplot(Top10_Sub, 
        main = paste("Gráfica 2: Top", n_max, "Remitentes (GLOBAL)"),
        ylab = "Cantidad de muestras totales",
        col = "skyblue",
        las = 2,
        cex.names = 0.7,
        ylim = c(0, total_muestras), # El techo es obligatoriamente el total
        yaxt = "n") 

# 3. Dibujar el eje Y personalizado anclado al total
puntos_eje <- unique(round(c(seq(0, total_muestras, length.out = 5), total_muestras)))
axis(2, at = puntos_eje, las = 1)

6. ANÁLISIS DE FRECUENCIA ABSOLUTA

ANÁLISIS DE FRECUENCIA ABSOLUTA

par(mar = c(12, 4, 4, 2) + 0.1)
freq_abs <- Top10_Sub

# 2. DIBUJAR LA GRÁFICA Y GUARDAR SUS COORDENADAS
bar_centers <- barplot(freq_abs, 
                       main = paste("Gráfica 3: Frecuencia Absoluta (Top", n_max, ")"),
                       ylab = "Cantidad aportada",
                       col = "orange",
                       las = 2,          
                       cex.names = 0.7,  
                       ylim = c(0, max(freq_abs) * 1.2))

# 3. PONER LAS ETIQUETAS NUMÉRICAS ENCIMA DE LAS BARRAS
text(x = bar_centers,                    
     y = freq_abs,         
     labels = freq_abs,                  
     pos = 3,                            
     cex = 0.8,
     col = "black")

7. ANÁLISIS DE FRECUENCIA RELATIVA (PORCENTAJES)

ANÁLISIS DE FRECUENCIA RELATIVA (PORCENTAJES)

par(mar = c(12, 4, 4, 2) + 0.1)

# 1. TRANSFORMAR LAS CANTIDADES EN PORCENTAJES (SOBRE EL TOTAL GENERAL)
freq_rel_porc <- round((Top10_Sub / total_muestras) * 100, 2)  

# 2. DIBUJAR LAS BARRAS Y PERSONALIZAR EL LIENZO
bar_centers_rel <- barplot(freq_rel_porc, 
                           main = paste("Gráfica 4: Distribución Porcentual (Top", n_max, ")"), 
                           ylab = "Porcentaje del Total (%)", 
                           col = "orchid", 
                           las = 2, 
                           cex.names = 0.7,
                           ylim = c(0, max(freq_rel_porc) * 1.3), 
                           yaxt = "n",       
                           yaxs = "i")       

# 3. CONSTRUIR UN EJE Y PERSONALIZADO
axis(2, at = seq(0, max(freq_rel_porc) + 2, length.out = 5), 
     labels = paste0(round(seq(0, max(freq_rel_porc) + 2, length.out = 5), 1), "%"), 
     las = 1, cex.axis = 0.8) 

# 4. COLOCAR LAS ETIQUETAS CON EL SÍMBOLO "%" EN LAS BARRAS
text(x = bar_centers_rel, 
     y = freq_rel_porc, 
     labels = paste0(freq_rel_porc, "%"), 
     pos = 3, 
     cex = 0.8, 
     col = "black")

8. COMPOSICIÓN GLOBAL (GRÁFICA CIRCULAR)

GRÁFICA CIRCULAR

# 1. CALCULAR PORCENTAJES Y COLORES
hi_pie_porc <- round(prop.table(Datos_Agrupados) * 100, 1) 
colores <- c("#66C2A5", "#FC8D62", "#8DA0CB", "#E78AC3", "#A6D854", "#D3D3D3")
# Si hay menos de 6 categorías, ajustamos los colores para evitar advertencias
colores <- colores[1:length(Datos_Agrupados)] 
etiquetas_leyenda <- paste0(names(Datos_Agrupados), " (", hi_pie_porc, "%)")

# 2. AJUSTAR EL LIENZO DE TRABAJO
par(mar = c(2, 2, 3, 16), xpd = TRUE)

# 3. DIBUJAR LA GRÁFICA CIRCULAR 
pie(hi_pie_porc, 
    labels = NA,  
    col = colores, 
    main = "Gráfica 5: Proporción por Remitente", 
    radius = 0.9) 

# 4. MARCAR LAS COORDENADAS DEL CUADRO DE LEYENDA (Ajustadas a nombres largos)
x0 <- 1.1    
x1 <- 3.5    
y1 <- 0.9    
y0 <- -0.5   

# 5. DIBUJAR EL CUADRO BLANCO DE FONDO
rect(xleft = x0, ybottom = y0, xright = x1, ytop = y1, col = "white", border = "black")

# 6. PONER EL TÍTULO DENTRO DE LA TARJETA
text(x = (x0 + x1)/2, y = y1 - 0.15, labels = "Remitentes de Datos", font = 2, cex = 0.9)

# 7. LLENAR LA TARJETA CON LOS COLORES Y PORCENTAJES
legend(x = (x0 + x1)/2,             
       y = y1 - 0.25,      
       legend = etiquetas_leyenda, 
       fill = colores, 
       cex = 0.65,          
       bty = "n",                    
       xjust = 0.5,                  
       y.intersp = 1.4)

9. CONCLUSIÓN

CONCLUSIÓN DE LA VARIABLE SUBMITTER

El análisis de la variable SUBMITTER confirma que la mayoría de los registros se concentra en el remitente Rare Metals Task, que representa el 100% de las muestras con remitente identificado. Esta tendencia evidencia el predominio de dicha entidad dentro de las aportaciones documentadas y muestra que los registros no se distribuyen de manera uniforme entre los remitentes.