como dice en nuestro titulo nuestro grupo conformado por:
• Vera
pormache Jesus Jeanpieer - 20240738
• Tineo Balcázar Daniela Rosa -
20231510
• Solis Leon Nilo Andy - 20240734
• Salazar Vásquez
Ytzel Aleeza - 20240734
• Quispe Garcia Francisco Alberto -
20240729
De la carrera de Estadistíca e ínformatica hemos llevado a cabo una encuesta entre mil estudiantes de la Universidad Nacional Agraria La Molina (UNALM) para conocer sus preferencias sobre videojuegos. La encuesta se centró en las franquicias más populares de Nintendo, como Super Mario, Pokémon, y Animal Crossing, entre otras.
Dado que las franquicias de Nintendo tienen una amplia influencia en la industria de los videojuegos, seleccionamos solo ocho de las más conocidas y queridas por los jugadores. Esta selección se basó en su popularidad y el impacto que han tenido en los jugadores a lo largo de los años.
para este analisis usamos los codigos y una idea de infografia creada en R por la Señorita Tania Shapiro.
Es una consultora independiente especializada en visualización de datos, auditoría de datos, elaboración de informes y paneles de control, además de impartir talleres y formación en estas áreas. La mayoría de sus proyectos los comparte en sus redes sociales o sitios web, como tashapiro_github, el de donde extraimos los codigos.
En la infografía, nuestra autora utilizó información de Wikipedia sobre los videojuegos más populares de Nintendo. Por otro lado, nuestro grupo diseñó una encuesta y trabajó con los datos de manera más específica, centrándonos en los estudiantes de la UNALM.
A continuación, presentamos los resultados de nuestra encuesta:
# Cargando paquetes
library(pacman)
p_load(dplyr, ggplot2, ggimage, ggtext, knitr,
flextable, foreign, gganimate,ggchicklet,
sysfonts, showtext, readxl)
#si no se puede descargar el paquete ggchicklet en tu version
#usar install_github("hrbrmstr/ggchicklet") que instala un paquete
#desde github
#lectura de datos
Nintendo <- read_excel('Nintendo_s.xlsx')
DT::datatable(Nintendo,
rownames = FALSE,
filter = "top",
options = list(pageLength = 10))
A continuación, presentamos una tabla que muestra el porcentaje de preferencia de los estudiantes de la UNALM por cada una de las franquicias de Nintendo incluidas en nuestra encuesta. Estas franquicias representan algunos de los títulos más icónicos en la industria de los videojuegos y ofrecen una variedad de experiencias, desde la aventura y la exploración hasta el entretenimiento en grupo. Esta tabla permite visualizar de manera rápida las tendencias y popularidad de cada franquicia entre los estudiantes.
Nintendo %>% count(franquicia) %>%
mutate(porcentaje = round(n / sum(n) * 100,1)) %>%
select(-n) %>% arrange(desc(porcentaje)) -> nintendo_1
nintendo_1 %>% flextable() %>% autofit() %>% add_header_lines()
franquicia | porcentaje |
|---|---|
Pokemon | 28.6 |
Super Mario | 22.0 |
Donkey Kong | 10.9 |
Animal Crossing | 10.2 |
The Legend of Zelda | 9.5 |
Xenoblade Chronicles | 8.1 |
Kirby | 6.7 |
Splatoon | 4.0 |
En esta sección mostraremos una infografía con los porcentajes obtenidos de las preferencias preferidas por los estudiantes de la UNALM
#importamos y configuramos fuentes de google fonts
sysfonts::font_add_google("Lato","Lato")
sysfonts::font_add_google("Roboto","Roboto", regular.wt=300) #regular.wt(configura el grosor de la fuente)
#¡Primero debes descargar Font Awesome localmente! https://fontawesome.com/download
# y buscar el archivo "font Awesome 6 Free-solid-900.otf" y llevarlo al directorio
# de trabajo
font_add('fs', 'Font Awesome 6 Free-Solid-900.otf') #"fs" es el nombre el cual vas a registrar la fuente
showtext_auto() #Activa el uso de fuentes personalizadas en gráficos.
#data frame para los botones
buttons<-data.frame(
x = c(-1.1,-0.4, -0.75, -0.75,
-0.75,7.5,
7.15,7.85,7.5,7.5,
7.2),
y= c(2,2, 2.3, 1.7,
3.2,2,
3.2,3.2,3.5,2.9,
1.2),
size = c(rep(7,4),
11,11,
rep(7,4),
7),
type = c("left_arrow","right_arrow","up_arrow","down_arrow","joystick_left","joystick_right",
"Y","A","X","B", "home"),
icon = c("<span style='font-family:fs'></span>",
"<span style='font-family:fs'></span>",
"<span style='font-family:fs'></span>",
"<span style='font-family:fs'></span>",
rep("",6),
"<span style='font-family:fs'></span>")
)
#Título para trazar con geom_textbox
title<-paste0(
"<span style='font-size:30pt;color:white;font-family:Lato;'>*FRANQUICIA DE VIDEOJUEGO FAVORITA EN LA UNALM*</span><br>",
"<span style='font-family:Roboto;font-size:20pt;color:#ECECEC;'>Basado en una encuesta realizada a casi 1000 estudiantes universitarios de la UNALM. Los resultados reflejan las preferencias actuales de franquicias de videojuegos. La encuesta se realizo en Noviembre del 2024.</span>"
)
#Datos de juegos de wikipedia: https://en.wikipedia.org/wiki/List_of_best-selling_Nintendo_Switch_video_games
games <- data.frame(
rank = seq(1,8, by=1),
title = c("Pokemon", "Super Mario", "Donkey kong", "Animal Crossing", "The Legend of Zelda","Xenoblade Chronicles",
"Kirby","Splatoon"),
copies = c(28.6, 22.0, 10.9, 10.2, 9.5, 8.1, 6.7, 4.0),
pos = rev(seq(1,3.325, length.out =8)),
local = c("pokemon.jpg",
"mario.jpg",
"donkeyk.jpg",
"animalcrossing.jpg",
"zelda.jpg",
"xenoblades.jpg",
"kirby.jpg",
"splatoon.jpg")
)
#Tomado de StackOverflow de Kamil Slowikowski https://stackoverflow.com/questions/30136725/plot-background-colour-in-gradient
make_gradient <- function(deg = 45, n = 100, cols = blues9) {
cols <- colorRampPalette(cols)(n + 1)
rad <- deg / (180 / pi)
mat <- matrix(
data = rep(seq(0, 1, length.out = n) * cos(rad), n),
byrow = TRUE,
ncol = n
) +
matrix(
data = rep(seq(0, 1, length.out = n) * sin(rad), n),
byrow = FALSE,
ncol = n
)
mat <- mat - min(mat)
mat <- mat / max(mat)
mat <- 1 + mat * n
mat <- matrix(data = cols[round(mat)], ncol = n)
grid::rasterGrob(
image = mat,
width = unit(1, "npc"),
height = unit(1, "npc"),
interpolate = TRUE
)
}
g <- make_gradient(
deg = 230, n = 500, cols = c("black","#020024","#458d6b","#41644d","#eae640")
)
pal_screen = "white"
pal_s_text = "black"
pal_bar = '#099DFF'
pal_main<-'#323436'
pal_red <-'#EE3E35'
pal_blue <- '#00B1D2'
pal_button<-'#1E1E1E'
anchor<-1.4
ggplot()+
annotation_custom(
grob = g, xmin = -Inf, xmax = Inf, ymin = -Inf, ymax = Inf
)+
#control rojo
geom_rrect(mapping=aes(xmin=0-1.5, xmax=0.75, ymin=0, ymax=4),
r = unit(0.35, 'npc'), fill=pal_red, color="black", size=0.3)+
#control azul
geom_rrect(mapping=aes(xmin=6.75-0.75, xmax=6.75+1.5, ymin=0, ymax=4),
r = unit(0.35, 'npc'), fill=pal_blue, color="black", size=0.3)+
#panel pricipal
geom_rect(mapping=aes(xmin=0, xmax=6.75, ymin=0, ymax=4), fill=pal_main, color="black", size=0.3)+
#borde del panel
geom_rrect(mapping=aes(xmin=0.2, xmax=6.75-0.2, ymin=0.1, ymax=3.9),
r = unit(0.05, 'npc'), fill="black")+
#pantalla
geom_rect(mapping=aes(xmin=0.625, xmax=6.75-0.625, ymin=0.375, ymax=4-0.375), fill=pal_screen)+
#joystick
geom_point(data= buttons|>filter(type %in% c("joystick_left","joystick_right")), mapping=aes(x=x, y=y), size=13, color="#4C4C4C")+
geom_point(data= buttons|>filter(type %in% c("joystick_left","joystick_right")), mapping=aes(x=x, y=y), stroke=0.8, shape=3, size=8.7, color=pal_button)+
#botones redondos
geom_point(data= buttons|>filter(type!="home"), mapping=aes(x=x, y=y, size=size), color=pal_button)+
#texto para los botones
geom_text(data= buttons|>filter(type %in% c("A","X","Y","B")), mapping=aes(x=x, y=y, label=type), color="white")+
#misc button - home, square, plus, and line
geom_point(data=buttons|>filter(type=="home"), mapping=aes(x=x,y=y,size=size), shape=21, stroke=1.5, fill=pal_button, color="#808080")+
geom_point(mapping=aes(x=-0.45,y=1.2), size=6, shape=15, color=pal_button)+
geom_point(mapping=aes(x=-0.45,y=1.2), size=4, color="black")+
geom_point(mapping=aes(y=3.7, x=7), shape=3, size=2, stroke=2, color=pal_button)+
geom_segment(mapping=aes(y=3.7, yend=3.7, x=-0.15,xend=-0.35), color=pal_button, size=1.5)+
#iconos para los botones
geom_richtext(data=buttons|>filter(icon!=""), mapping=aes(x=x, y=y, label=icon), color="black", size=3, fill = NA, label.color = NA,hjust=0.5)+
scale_size_identity()+
#teja
geom_textbox(mapping=aes(x=3.75, y=4.75), label=title, box.size=NA, fill=NA, width=unit(6.5, "in"), halign=0.5)+
geom_text(mapping=aes(x=8.2, y=-0.65), label="Grupo 6: curso: Tecnica de Exploración de Datos ", color="#ECECEC", size=3, hjust=1, family="Roboto")+
scale_y_continuous(limits=c(-0.75,5.5))+
#datos del juego
geom_text(data=games, mapping=aes(y=pos-0.08, x=anchor, label=title), color=pal_s_text, hjust=0, size=4, family="Roboto")+
geom_segment(data=games, mapping=aes(y=pos-0.24, yend=pos-0.24, x=anchor, xend=anchor+(0.088*copies)), size=5, color=pal_bar)+
geom_text(data=games, mapping=aes(y=pos-0.24, x=anchor+0.1, label=paste0(round(copies,1),"%")), color="black", hjust=0, size=2.7, family="Roboto")+
geom_image(data=games, mapping=aes(y=pos-0.18, x=anchor-0.35, image=local), asp=1.6, size=0.02)+
theme_void()
ggsave(filename="switch.png", height=5, width=7.5, dpi = 300)
Cada uno de las franquicias presentan características comunes en cada uno de sus juegos que se elaboran a lo largo de los años , lo que al analizarlas y relacionarlas con los porcentajes adquiridos anteriormente , gracias a la encuesta , podemos determinar las características que presentan los estudiantes Universitarios de la UNALM (Universidad Nacional Agraria la Molina)