PROBLEMA 1

Curva de titulación

Las curvas de titulación son las representaciones gráficas de la variación del pH durante el transcurso de la valoración. Dichas curvas nos permiten:

1- Estudiar los diferentes casos de valoración (ácido fuerte vs. base fuerte; base fuerte vs. ácido fuerte; ácido débil vs. base fuerte; base débil vs. ácido fuerte).

2- Determinar las zonas tamponantes y el pKa.

3- Determinar el intervalo de viraje y el punto de equivalencia.

4- seleccionar el indicador ácido-base más adecuado.

La siguiente fórmula nos permite realizar el cálculo de la curva de titulación de un ácido:

\[ V_{b} \left[\frac {C_{b}K_{bc}[H^+]}{K_{bc}[H^+] + K_{we}} + [H^+]- \frac {K_{we}} {[H^+]}\right] =V_{a} \left[C_{a} \left(\frac { K_{1c} {[H^+]^2} + 2K_{1c} K_{2c} {[H^+]} + 3K_{1c} K_{2c} K_{3c} } {{[H^+]^3} + { K_{1c} [H^+]^2} + {K_{1c} K_{2c} [H^+]} + {K_{1c} K_{2c} K_{3c}} } \right) - [H^+] + \frac {K_{we}} {[H^+] }\right] \] En el siguiente ejemplo de curva de valoración de un ácido se desea determinar el de Vb para un pH y con estos se graficará la curva de valoración. Los valores dados son Va= 20 mL, Ca=0.1, Cb=0.1. Siendo Va y Vb son volumenes del ácido y base respectivamente, además, Ca y Cb son las concentraciones del ácido y base correspondiente. Adicionalmente tenemos los dados del pKa del ácido fosfórico (ácido utilizado en este ejemplo) que son pKa1=2.12 , pKa2=7.21 y pKa3=12.67. Para calcular el Vb, primero se realizó un despeje de la fórmula, dando como resultado la siguiente ecuación:

\[ V_{b} = \frac {V_{a} \left[C_{a} \left(\frac { K_{1c} {[H^+]^2} + 2K_{1c} K_{2c} {[H^+]} + 3K_{1c} K_{2c} K_{3c} } {{[H^+]^3} + { K_{1c} [H^+]^2} + {K_{1c} K_{2c} [H^+]} + {K_{1c} K_{2c} K_{3c}} } \right) - [H^+] + \frac {K_{we}} {[H^+] }\right]} {\left[\frac {C_{b}K_{bc}[H^+]}{K_{bc}[H^+] + K_{we}} + [H^+]- \frac {K_{we}} {[H^+]}\right]} \]

PARTE A)

##"Volumen (mL) de ácido (Débil)"
Va=0.020

##"Concentración (L/mol) del ácido (Débil)"
Ca=0.1

##"Concentración (L/mol) de la Base (Fuerte)"
Cb=0.1

##"Constante de disociación básica"
Kb=1

##"-log Ka1 , pKa1"
pKa1=2.12

##"-log Ka2 , pKa2"
pKa2=7.21

##"-log Ka3 , pKa3"
pKa3=12.67

##"Constantes de disociación ácida"
K1=10^-pKa1
K2=10^-pKa2
K3=10^-pKa3

##"Contante de disociación del H2O"
Kwe= 1*10^-14

##"-log [H^+], (pH)"
pH=9.98

##"Concentración (L/mol) de los iones hidrogeniones [H^+]"
H=10^-pH

##"Volumen (mL)de la base (Fuerte) necesaria para llegar a un pH dado"
Vb= ((Va)*( Ca * ( ( (K1*H^2) + (2*K1*K2*H) + (3*K1*K2*K3) ) / ( (H^3)+ (K1*H^2) + (K1*K2*H) + (K1*K2*K3) ) ) - (H) + (Kwe/H) )) / ( ((Cb*Kb*H)/( (Kb*H) + Kwe )) + (H) - (Kwe/H) ) 

print(Vb)
## [1] 0.04006803

Mediante el uso de la fórmula despejada se calculó que para un pH de 9.98 el Vb es de 0.050. A continuación, en la parte B, se calcularán los valores de Vb para diversos pH a partir de 1.5 a 12 en intervalos de 0.01 con el objetivo de construir una curva de valoración del ácido fosfórico. Adicionalmente tenemos los dados del pKa del ácido fosfórico que son pKa1=2.12 , pKa2=7.21 y pKa3=12.67.

PARTE B)

##"Volumen (mL) de ácido (Débil)"
Va=0.020

##"Concentración (L/mol) del ácido (Débil)"
Ca=0.1

##"Concentración (L/mol) de la Base (Fuerte)"
Cb=0.1

##"Constante de disociación básica"
Kb=1

##"-log Ka1 , pKa1"
pKa1=2.12

##"-log Ka2 , pKa2"
pKa2=7.21

##"-log Ka3 , pKa3"
pKa3=12.67

##"Constantes de disociación ácida"
K1=10^-pKa1
K2=10^-pKa2
K3=10^-pKa3

##"Contante de disociación del H2O"
Kwe= 1*10^-14

##"Intervalos de pH dados"
pH<-c(seq(1.5,12,0.1))

##"Concentración (L/mol) de los iones hidrogeniones [H^+]"
H=10^-pH
  
##"Volumen (mL) de la base (Fuerte) necesaria para llegar a un pH dado"
Vb= ((Va)*( Ca * ( ( (K1*H^2) + (2*K1*K2*H) + (3*K1*K2*K3) ) / ( (H^3)+ (K1*H^2) + (K1*K2*H) + (K1*K2*K3) ) ) - (H) + (Kwe/H) )) / ( ((Cb*Kb*H)/( (Kb*H) + Kwe )) + (H) - (Kwe/H) ) 


##"Gráfica de pH vs Vb (mL)"
plot(Vb*1000,pH,type="l",col="palegreen2",lwd="2", xlab=c("Volumen de la base (mL)"), main="Gráfica de pH vs Vb")

Una vez construida la grafica del ácido fosfórico observamos que presenta varias zonas características que corresponden a los tres equilibrios de protólisis. Esto se debe a que el ácido fosfórico es un ácido de varios protones, más especificamente es un ácido triprótico. Analizando más a detalle nuestra curva podemos llegar a las siguientes conclusiones:

1- La base utilizada es una base fuerte debido a forma de dicha curva.

2- Durante el transcurso de la reacción ácido-base se produjo la disociación progresiva del ácido triprótico (ácido fosfórico) en sus tres protones y demás iones, los cuales alcanzaron el equilibrio.

3- Que la valoración del ácido fosfórico es de especial interés,al tratarse de un ácido poliprótico adecuado para la detección de los sucesivos puntos de equivalencia.

Problema 2

Cuando se posee un conjunto de datos, estas se pueden asignar a una varibles según el tipo de análisis que realizaremos con ellos.

En este caso, se nos proporcionó 3 conjuntos de datos de un experimento, se nos pidió graficar los datos obtenidos utilizando R.

En primera instancia los conjuntos de datos fueron asignados a diferentes variables, estas variables deben tener la misma cantidad de elementos para poder utilizarlas con la función “plot()”. Posteriormente, estos conjuntos de datos se graficaron meidante la función “plot()”, donde la temperatura “TK” se asignó en el eje de las ordenadas y las fracciones molares de los compuestos debían ser graficadas en el eje de las abscisas con sus respectivas etiquetas y leyendas.

x1<-c (0.000000, 0.011400, 0.042800, 0.084700,0.188500, 0.233400, 0.385400, 0.421000, 0.488200, 0.787200, 0.959200, 1.000000)

y1<-c (0.000000, 0.318400, 0.530700, 0.822800, 0.983200, 0.990000, 0.998300, 0.999000, 0.999000, 0.999000, 0.999000, 1.000000)

TK<-c (474.03, 463.81,  453.60, 425.76, 389.51, 367.58, 345.35, 338.24, 328.52, 304.69, 299.59, 298.88)


plot(x1,TK, type="b", lty=2, lwd= 2.5, main="T(K) vs Xa", pch = 22, bg=3,col= 3, xlab=c("Xa"), ylab=c("T (K)"))
lines(y1,TK, type="b", lty=2 ,lwd= 2.5, pch = 4, bg=2, col= 2)
legend(0,350, legend=c("Pentano vapor", "Pentano liq."), col=c(2,3),lty=2, , lwd=3 , cex=0.9)

Problema 3

Una base de datos es un conjunto de información que se relaciona entre sí, que está almacenada y organizada de forma sistemática para facilitar su preservación, búsqueda y uso. Dentro de ellas encontramos información de gran utilidad y valor, pero muchas veces no necesitamos toda la información disponible, sino que deseamos algo en específico. Extraer los datos manualmente, ya sea para realizar gráficas o comparar datos, es un proceso complicado y tedioso.

Debido a esto existen formas alternas de realizar estas tareas, en la programación en R encontramos la colección de paquetes Tidyverse. Tidyverse está orientado a la manipulación, exploración y visualización de datos y es utilizada exhaustivamente en ciencia de datos. El uso de Tidyverse permite facilitar el trabajo estadístico y la generación de trabajos reproducibles. Los diversos paquetes que posee Tidyverse nos permiten realizar el análisis de los datos.

Para ello posee paquetes que pueden realizar las siguientes operaciones: Extraer las variables existentes en el conjunto de datos, Extraer las observaciones preexistentes, Derivar nuevas variables sobre las ya existentes y Cambiar las unidades de las variables. El paquete Tidyverse provee una serie de herramientas destinadas a facilitar estos procesos, siendo de gran ayuda y utilidad.

Instalación de la librería “tidyverse”

library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.1.2
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.6     v dplyr   1.0.7
## v tidyr   1.1.4     v stringr 1.4.0
## v readr   2.1.1     v forcats 0.5.1
## Warning: package 'ggplot2' was built under R version 4.1.2
## Warning: package 'tibble' was built under R version 4.1.2
## Warning: package 'tidyr' was built under R version 4.1.2
## Warning: package 'readr' was built under R version 4.1.2
## Warning: package 'purrr' was built under R version 4.1.2
## Warning: package 'dplyr' was built under R version 4.1.2
## Warning: package 'stringr' was built under R version 4.1.2
## Warning: package 'forcats' was built under R version 4.1.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()

Creación de dataframe, a partir de un repositorio en Github

df<- read.csv("https://raw.githubusercontent.com/bckUkrav/Parcial-number-two/main/Sra%20hoja%20de%20Elementos%20.csv")

Utilización de la función “filter()” , para filtrar datos de interés en el dataframe

matAlkT<- df %>% filter(Family=="Alkaline Earth")
matAlk<- df %>% filter(Family=="Alkali Metal")

Grafica 1 - PROBLEMA 3

En la gráfica “Peso atómico vs Número atómico”, se utilizó el paquete Tidyverse para extraer solo la información necesaria, en este caso se deseaba comparar el peso atómico de los metales alcalinos y alcalinotérreos contra su número atómico, debido a esto se extrajeron solamente los datos de importancia para realizar nuestro análisis. Una vez con los datos necesarios se pudo graficar la información obtenida y realizar las conclusiones correspondientes.

Mediante el uso de la gráfica se puede afirmar que:

1- A medida que aumenta el peso atómico, el número atómico aumenta

2- A medida que disminuye el peso atómico, el número atómico disminuye

plot(matAlkT$NAt,matAlkT$Patom,type="b", col=3, lwd=2, xlab=c("Número atómico (Z)"), ylab=c("Peso atómico (uma)"), main="Peso atómico (uma) vs Número atómico (Z)")


text(3,30, "Be", cex = 0.8, pos = 1, col = 2)
text(11,50, "Mg", cex = 0.8, pos = 1, col = 2)
text(19,60, "Ca", cex = 0.8, pos = 1, col = 2)
text(37,110, "Sr", cex = 0.8, pos = 1, col = 2)
text(55,160, "Ba", cex = 0.8, pos = 1, col = 2)
text(86,241, "Ra", cex = 0.8, pos = 1, col = 2)

lines(matAlk$NAt,matAlk$Patom,type="p", col=6, lwd=2, pch = 6)

text(6,16, "Li", cex = 0.8, pos = 1, col = 3)
text(14,34, "Na", cex = 0.8, pos = 1, col = 3)
text(22,44, "K", cex = 0.8, pos = 1, col = 3)
text(40,94, "Rb", cex = 0.8, pos = 1, col = 3)
text(58,144, "Cs", cex = 0.8, pos = 1, col = 3)
text(89,225, "Fr", cex = 0.8, pos = 1, col = 3)

legend(55,70, legend=c("Metales alcalinos térreos", "Metales alcalinos"), col=c(2,3), lwd=3 , cex=0.9)

Grafica 2 - Problema 3

En la gráfica “Densidad vs número atómico”, se extrajeron los datos de la densidad y el número atómico de los carbonoides y de los calcógenos. Mediante el análisis de estos datos buscábamos determinar que relación existe entre la densidad y el número atómico de estos grupos.

Tras el uso del paquete Tidyverse y realización de la gráfica de los datos, logramos llegar a las siguientes conclusiones:

1- Que la densidad general de los carbonoides es mayor a la de los calcógenos

2- La densidad de los elementos de ambos grupos aumenta a medida que aumenta el número atómico

3- La densidad de los elementos de ambos grupos disminuye a medida que disminuye el número atómico

carb<- df %>% filter(Family=="Carbon")
chalc<- df %>% filter(Family=="Chalcogen")

plot(carb$NAt, carb$Density_gcm3,type="b", col=4, lwd=2, xlab=c("Número atómico (Z)"), ylab=c("Densidad (g.cm^-1)"), main="Densidad (g.cm^-1) vs Número atómico (Z)", ylim = c(0,12), xlim=c(0,90))
text(6,3.5, "C", cex = 0.8, pos = 1, col = 4)
text(14,3.5, "Si", cex = 0.8, pos = 1, col = 4)
text(32,6.42, "Ge", cex = 0.8, pos = 1, col = 4)
text(50,8.41, "Sn", cex = 0.8, pos = 1, col = 4)
text(82,12.45, "Pb", cex = 0.8, pos = 1, col = 4)


lines(chalc$NAt,chalc$Density_gcm3, type="b", col=7, lwd=2)
text(8,1.429, "O", cex = 0.8, pos = 1, col = 7)
text(16,2.070, "S", cex = 0.8, pos = 1, col = 7)
text(34,4.790, "Se", cex = 0.8, pos = 1, col = 7)
text(52,6.240, "Te", cex = 0.8, pos = 1, col = 7)
text(84,9.300, "Po", cex = 0.8, pos = 1, col = 7)

legend(50,3, legend=c("Grupo de los carbonoides", "Grupo calcógenos"), col=c(4,7), lwd=3 , cex=0.9)