##(“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.”)
##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:”, colnames(data), “”)
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")
| 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.
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:
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.