Contextualizar la base de datos

##(“Esta base de datos contiene información sobre la clasificación de estructuras cristalinas de tipo ABO3 Perovskitas, basada en características estructurales como ángulos de red, longitudes de red, densidad, volumen, y grupo espacial. Estas características son fundamentales para la predicción y análisis de las propiedades de materiales cristalinos.”)

Descripción de las variables principales:

##1. lattice_angle_alpha: Ángulo α en grados entre los ejes a y b de la celda unitaria.“) ##2. lattice_angle_beta: Ángulo β en grados entre los ejes b y c de la celda unitaria.”) ##3. lattice_angle_gamma: Ángulo γ en grados entre los ejes a y c de la celda unitaria.“) ##4. lattice_length_a: Longitud del eje a de la celda unitaria en Angstroms.”) ##5. lattice_length_b: Longitud del eje b de la celda unitaria en Angstroms.“) ##6. lattice_length_c: Longitud del eje c de la celda unitaria en Angstroms.”) ##7. density: Densidad de la celda unitaria, medida en g/cm³.“) ##8. volume: Volumen de la celda unitaria en Angstroms cúbicos (ų).”) ##9. spacegroup: Grupo espacial que describe la simetría del cristal.“) ##10. structure: Clase de la estructura cristalina (e.g., cúbica, tetragonal, hexagonal).”) # Analizar las Características de la Base de Datos # Dimensiones de la base de datos ##(“Dimensiones de la base de datos (filas x columnas):”, dim(data), “”)

Nombres de las variables

##(“Nombres de las variables:”, colnames(data), “”)

Estructura de las variables

str(data)

library(readr)
df<-read.csv("Crystal_structure.csv")
dim(df)
## [1] 5329   18
str(df)
## 'data.frame':    5329 obs. of  18 variables:
##  $ Compound         : chr  "Ac2O3" "AcAgO3" "AcAlO3" "AcAsO3" ...
##  $ A                : chr  "Ac" "Ac" "Ac" "Ac" ...
##  $ B                : chr  "Ac" "Ag" "Al" "As" ...
##  $ In.literature    : logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
##  $ v.A.             : chr  "0" "0" "0" "0" ...
##  $ v.B.             : chr  "0" "0" "0" "0" ...
##  $ r.AXII..Å.       : num  1.12 1.12 1.12 1.12 1.12 1.12 1.12 1.12 1.12 1.12 ...
##  $ r.AVI..Å.        : num  1.12 1.12 1.12 1.12 1.12 1.12 1.12 1.12 1.12 1.12 ...
##  $ r.BVI..Å.        : num  1.12 0.95 0.54 0.52 0.93 0.27 1.35 0.45 0.9 1 ...
##  $ EN.A.            : num  1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 ...
##  $ EN.B.            : num  1.1 1.93 1.61 2.18 2.54 2.04 0.89 1.57 2.02 1 ...
##  $ l.A.O..Å.        : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ l.B.O..Å.        : num  0 2.49 1.89 1.93 2.31 ...
##  $ ΔENR             : num  -3.25 -2.57 -1.85 -1.58 -2.28 ...
##  $ tG               : num  0.707 0.758 0.919 0.928 0.765 ...
##  $ τ                : chr  "-" "-" "-" "-" ...
##  $ μ                : num  0.8 0.679 0.386 0.371 0.664 ...
##  $ Lowest.distortion: chr  "cubic" "orthorhombic" "cubic" "orthorhombic" ...
library(ggplot2)

# Ejemplo de código
ggplot(df, aes(x = Lowest.distortion, y = r.AXII..Å., fill = Lowest.distortion)) +
  geom_boxplot() +
  labs(title = "Diagrama de Cajas del Radio del Elemento A en Coordinación XII según Distorsión Mínima",
       x = "Distorsión Mínima", y = "r.AXII (Å)") +
  scale_fill_manual(values = c("lightblue", "lightgreen", "lightcoral", "lightyellow", "lightpink")) +
  theme_minimal()

#El diagrama de cajas muestra la variación del radio del elemento A en coordinación XII (r.AXII..Å.) para diferentes tipos de distorsión mínim. Las diferencias en las medianas y la altura de las cajas indican cómo el radio varía con el tipo de distorsión. Las cajas más altas reflejan mayor variabilidad, y los valores atípicos sugieren compuestos con características excepcionales.

library(ggplot2)
library(hrbrthemes) # Para el tema 'theme_ipsum'

# Crear el diagrama de cajas para r.AXII..Å.
df %>% 
  ggplot(aes(x = "", y = r.AXII..Å.)) +
  geom_boxplot(color = "black", fill = "yellow2", alpha = 0.5) +
  theme_ipsum() +
  theme(legend.position = "none", plot.title = element_text(size = 11)) +
  ggtitle("Distribución del Radio del Elemento A en Coordinación XII") +
  coord_flip()

#El diagrama de cajas presenta la distribución del radio del elemento A en coordinación XII (r.AXII..Å.). La mediana, representada por la línea central en la caja, indica el valor central de la variable. La altura de la caja muestra la variabilidad en torno a la mediana, mientras que los bigotes extienden hasta el rango de valores normales, excluyendo los atípicos. Los valores atípicos, marcados como puntos fuera de los bigotes, sugieren compuestos con radios excepcionales.

library(ggplot2)
library(dplyr)  # Asegúrate de cargar dplyr
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
# Contar la frecuencia de cada tipo de distorsión mínima
df2 <- df %>%
  group_by(Lowest.distortion) %>%
  summarize(Frecuencia = n())

# Crear el gráfico de barras
ggplot(data=df2, aes(x=Lowest.distortion, y=Frecuencia)) +
  geom_bar(stat="identity", color="blue", fill="green") +
  xlab("Tipo de Distorsión Mínima") +
  ylab("Frecuencia") +
  ggtitle("Frecuencia de Tipos de Distorsión Mínima en el Dataset") +
  theme_minimal()

#El gráfico de barras muestra la frecuencia de cada tipo de distorsión mínima en el dataset. Cada barra muestra la cantidad de observaciones para cada categoría de distorsión mínima, con este gráfico se logra identificar las distorsiones más predominantes y proporciona una visión clara de cómo se distribuyen estas categorías en el conjunto de datos.

library(dplyr)
library(knitr)

# Definir los bins para la variable r.AXII..Å.
bins <- seq(min(df$r.AXII..Å., na.rm = TRUE), max(df$r.AXII..Å., na.rm = TRUE), length.out = 10)

# Crear los rangos para la variable r.AXII..Å.
rango_r_AXII <- cut(df$r.AXII..Å., breaks = bins)

# Calcular la tabla de frecuencias
Freq_table <- as.data.frame(table(rango_r_AXII))

# Añadir columnas para frecuencia relativa y frecuencia acumulada
Freq_table <- Freq_table %>%
  mutate(Rel_Freq = Freq / sum(Freq),
         Cum_Freq = cumsum(Rel_Freq))

# Mostrar la tabla de frecuencias
knitr::kable(Freq_table, caption = "Tabla de Frecuencias para el Radio del Elemento A en Coordinación XII")
Tabla de Frecuencias para el Radio del Elemento A en Coordinación XII
rango_r_AXII Freq Rel_Freq Cum_Freq
(0.27,0.449] 73 0.0138889 0.0138889
(0.449,0.628] 712 0.1354642 0.1493531
(0.628,0.807] 1011 0.1923516 0.3417047
(0.807,0.986] 1156 0.2199391 0.5616438
(0.986,1.16] 907 0.1725647 0.7342085
(1.16,1.34] 615 0.1170091 0.8512177
(1.34,1.52] 432 0.0821918 0.9334094
(1.52,1.7] 204 0.0388128 0.9722222
(1.7,1.88] 146 0.0277778 1.0000000

#Podemos observar en la tabla la frecuencia absoluta, la frecuencia relativa y la frecuencia acumulada para los diferentes intervalos del radio del elemento A en coordinación XII (r.AXII..Å.).

library(dplyr)
library(ggplot2)
library(knitr)

# Calcular las frecuencias absolutas para Lowest.distortion
Freq_table <- df %>%
  count(Lowest.distortion) %>%
  rename(Porcentaje = n) %>%
  mutate(Porcentaje = Porcentaje / sum(Porcentaje) * 100,  # Convertir a porcentaje
         etiquetas = paste0(round(Porcentaje, 1), "%"))   # Crear etiquetas con porcentajes

# Crear gráfico de pie
ggplot(Freq_table, aes(x = "", y = Porcentaje, fill = Lowest.distortion)) +
  geom_col(color = "black") +
  geom_label(aes(label = etiquetas),
             position = position_stack(vjust = 0.5),
             show.legend = FALSE) +
  guides(fill = guide_legend(title = "Distribución por Tipo de Distorsión")) +
  coord_polar(theta = "y") +
  ggtitle("Distribución de la Distorsión Mínima en la Estructura de Cristales")

# El gráfico muestra la proporción de diferentes tipos de distorsión mínimaen la base de datos. Cada segmento del gráfico representa un tipo de distorsión y su tamaño es proporcional a la frecuencia relativa de ese tipo en comparación con el total.

library(ggplot2)

# Crear histograma para la variable r.AXII..Å.
ggplot(data = df, aes(x = r.AXII..Å.)) +
  geom_histogram(binwidth = 0.1, fill = "skyblue", color = "black", alpha = 0.8) +
  labs(title = "Histograma del Radio del Elemento A en Coordinación XII",
       x = "r.AXII (Å)",
       y = "Frecuencia") +
  theme_minimal()

#El histograma muestra la distribución del radio del elemento A en coordinación . Cada barra representa el número de observaciones (frecuencia) en un rango específico del radio.

library(ggplot2)

# Crear gráfico de barras para la distribución de Lowest.distortion según Compound y A
ggplot(df, aes(x = Compound, y = r.AXII..Å., fill = A)) +
  geom_bar(stat = "identity", position = "dodge") +
  labs(title = "Distribución del Radio del Elemento A en Coordinación XII según Compuesto y Tipo de Elemento",
       x = "Compuesto",
       y = "r.AXII (Å)",
       fill = "Tipo de Elemento") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

#El gráfico de barras muestra la distribución del radio del elemento,para diferentes compuestos. Cada barra representa un compuesto y muestra el radio del elemento A, desglosado por el tipo de elemento A.

R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

Including Plots

You can also embed plots, for example:

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.