Creación del
dataset
# Crear los datos para 3 estudiantes
data <- data.frame(
Biology = c(20, 12, 15),
Music = c(18, 9, 20),
Programming = c(19, 8, 18),
Art = c(5, 10, 7),
Geography = c(8, 5, 6),
English = c(10, 7, 9),
Sport = c(6, 20, 5),
Maths = c(12, 14, 9),
Physics = c(10, 17, 8)
)
# Definir los valores máximos y mínimos en cada categoría para fmsb
data <- rbind(rep(20, ncol(data)), rep(0, ncol(data)), data)
# Agregar nombres de fila
rownames(data) <- c("Max", "Min", "Student 1", "Student 2", "Student 3")
Datos de los Estudiantes
|
|
Biology
|
Music
|
Programming
|
Art
|
Geography
|
English
|
Sport
|
Maths
|
Physics
|
|
Max
|
20
|
20
|
20
|
20
|
20
|
20
|
20
|
20
|
20
|
|
Min
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
|
Student 1
|
20
|
18
|
19
|
5
|
8
|
10
|
6
|
12
|
10
|
|
Student 2
|
12
|
9
|
8
|
10
|
5
|
7
|
20
|
14
|
17
|
|
Student 3
|
15
|
20
|
18
|
7
|
6
|
9
|
5
|
9
|
8
|
Generar el Gráfico de
Radar
# Configurar colores para cada estudiante
colors_border <- c("#6a3d9a", "#ff7f00", "#33a02c") # Morado, Naranja, Verde Claro
colors_fill <- c(alpha("#6a3d9a", 0.3), alpha("#ff7f00", 0.3), alpha("#33a02c", 0.3)) # Transparencias
# Crear el gráfico de radar
radarchart(data, axistype = 1,
# Personalización de la cuadrícula
pcol = colors_border, pfcol = colors_fill, plwd = 2, plty = 1,
# Tamaño de la cuadrícula y etiquetas
cglcol = "grey", cglty = 1, cglwd = 0.8,
axislabcol = "grey", vlcex = 1.1, # Tamaño de etiquetas de variables
title = "Comparación de Estudiantes en Diferentes Materias")
# Agregar leyenda
legend("topleft", inset = c(-0.1, 0), legend = c("Student 1", "Student 2", "Student 3"),
col = colors_border, lty = 1, lwd = 2, bty = "n", pch = 16, pt.cex = 1.5, xpd = TRUE)

# Configurar colores para cada estudiante
colors_border <- c("#6a3d9a", "#ff7f00", "#33a02c") # Morado, Naranja, Verde Claro
colors_fill <- c(alpha("#6a3d9a", 0.3), alpha("#ff7f00", 0.3), alpha("#33a02c", 0.3)) # Transparencias
# Definir la disposición de la cuadrícula (2 filas, 2 columnas)
par(mfrow = c(2, 2), mar = c(3, 3, 4, 3)) # Distribuir en 2 filas y 2 columnas
# Crear gráficos individuales para cada estudiante
for (i in 3:5) { # Los datos de los estudiantes están en las filas 3, 4 y 5
radarchart(data[c(1, 2, i), ], axistype = 1,
pcol = colors_border[i - 2], pfcol = colors_fill[i - 2], plwd = 2, plty = 1,
cglcol = "grey", cglty = 1, cglwd = 0.8,
axislabcol = "grey", vlcex = 0.6, # Tamaño de etiquetas
title = paste("Student", i - 2), cex.main = 1.5) # Título en su posición original
}
# Restaurar configuración de gráficos a 1 solo panel
par(mfrow = c(1, 1))
