Vista previa del material en texto
EAA361A - Análisis de Big Data
Escuela de Administración
1o Semestre 2020
Caṕıtulo 3: Visualización con Ggplot2 y Shiny
: , 1
Agenda de la Presentación
Contenidos
Tópicos
I Introducción a la libreŕıa ggplot2
I Shiny en RStudio
: , 2
Agenda de la Presentación
Contenidos
Introducción a la libreŕıa ggplot2
: , 3
Introducción a la libreŕıa ggplot2
Introducción
ggplot2 hoy en d́ıa es la principal libreŕıa para visualizar datos en R. Al
igual que dplyr fue desarrollada por Hadley Wickham.
Esta libreŕıa implementa una programación llamada la gramática del gráfi-
co y se basa en un sistema coherente para describir y construir gráficos.
Powered by TCPDF (www.tcpdf.org)
: , 4
Introducción a la libreŕıa ggplot2
Introducción
Ventajas de utilizar ggplot2
I Se basa en códigos de la gramática del gráfico
I La libreŕıa brinda muchas alternativas de gráficos
I Tiene un Mantenimiento muy activo
I Los gráficos son visualmente atractivos y modernos
I Fácil modificación leyendas
I Es compatible con sparklyr
: , 5
Introducción a la libreŕıa ggplot2
Introducción
Los argumentos utilizados con esta libreŕıa son:
I ggplot: Crea el gráfico vaćıo y como argumento utiliza en data frame.
I Datos: Data frame con la información
I aes: Aesthetic mapping, donde se indican las variables utilizadas del
data frame y la estética (colores, tamaño etc)
I geom_function: Una función de una colección que realiza la repre-
sentación visual de los datos
: , 6
Introducción a la libreŕıa ggplot2
Introducción
ggplot2 también pertenece a la colección de libreŕıas de tidyverse
http://ggplot2.tidyverse.org/
: , 7
http://ggplot2.tidyverse.org/
Introducción a la libreŕıa ggplot2
Introducción
ggplot2 se puede instalar directamente
install.packages("ggplot2")
También se puede instalar mediante la libreŕıa tidyverse que contiene
una colección de libreŕıas diseñadas para realizar “data science”
install.packages("tidyverse")
: , 8
Introducción a la libreŕıa ggplot2
Introducción
La libreŕıa tidyverse incluye las siguientes libreŕıas:
I ggplot2: creación de gráficos con una gramática de gráficos y geo-
metŕıas.
I dplyr: manipulación de datos.
I tidyr: ordenar y estructurar información.
I readr: lectura rápida y sencilla de datos estructurados.
I purrr: proporciona una colección de nuevas herramientas para tra-
bajar con funciones y matrices.
: , 9
Introducción a la libreŕıa ggplot2
Introducción
En el siguiente enlace se encuentra el detalle de todas las libreŕıas que
contiene tidyverse y funcionalidades
https://www.tidyverse.org/
: , 10
https://www.tidyverse.org/
Introducción a la libreŕıa ggplot2
Función ggplot
Función ggplot
La función ggplot genera el gráfico, como argumento se entrega un data
frame y crea un gráfico vaćıo. Si se desea se puede entregar como argu-
mento el aes y especificar las variables que serán utilizadas.
La forma general
ggplot(df, aes(x, y, ...)) +
’df’ es el data frame y opcional ’aes’ se indican las variables utilizadas
y estética. En + se deberá agregar una geometŕıa
: , 11
Introducción a la libreŕıa ggplot2
Función ggplot
Al utilizar la función ggplot() sobre un data frame inmediatamente se
genera un gráfico vaćıo
Figura: Gráfico vaćıo
: , 12
Introducción a la libreŕıa ggplot2
GEOM FUNCTION
GEOM_FUNCTION
Esta denotación hace referencia a las funciones gráficas que se aplicaran
sobre los datos. ggplot2 cuenta con más de 30 geometŕıas, donde se des-
tacan:
I Gráficos de dispersión
I Gráficos de barra
I Gráficos de contorno
I Boxplot
: , 13
Introducción a la libreŕıa ggplot2
GEOM FUNCTION
La forma general de utilizar una función gráfica es:
ggplot(data = <DATA>) +
<GEOM_FUNCTION>(
mapping = aes(<MAPPINGS>),
stat = <STAT>,
position = <POSITION>
) + ...
Aqúı GEOM_FUNCTION es una función de una colección de tipos gráficos,
se pueden agregar estad́ısticas en stat. Sobre la geometŕıa se pueden ir
agregando elementos en + ...
: , 14
Introducción a la libreŕıa ggplot2
Diseños del Gráfico
Diseño Personalizado:
I Facetas: Las facetas divide un gráfico de dos variables en función de
los valores de una o más variables categóricas
El comando es facet wrap( ) y facet grid( )
I Etiquetas: Con las etiquetas se puede agregar el t́ıtulo principal al
gráfico, cambiar los nombres de los ejes verticales y horizontales.
El comando es labs( )
I Tema: El ajuste del tamaño de las etiquetas se puede hacer usando
la función theme( )
: , 15
Introducción a la libreŕıa ggplot2
Gráficos Univariados
Gráficos Univariados
: , 16
Introducción a la libreŕıa ggplot2
Gráficos Univariados
Gráficos Univariados
ggplot2 tiene un colección de GEOM_FUNCTION para realizar gráficos uni-
variados, dentro de los que se destacan:
I geom_area: Realiza un gráfico del area bajo una variable
I geom_density: Gráfica la densidad estimada por kernel
I geom_dotplot: Gráfico de puntos haciendo referencia a la distribu-
ción de los datos
I geom_histogram: Histograma de una variable cuantitativa
I geom_bar: Gráfico de barras para variables categóricas
: , 17
Introducción a la libreŕıa ggplot2
Gráficos Univariados
Ilustración 1: Para realizar los gráficos univariados se utilizará la tabla
diamonds disponible en la libreria ggplot2 que cuenta con las siguientes
variables:
I carat: Quilates, peso del diamante
I cut: Calidad del corte
I color: Color del diamante, de peor a mejor
I clarity: Medida de nitidez del diamante (I1(peor), SI2,..., IF(mejor))
: , 18
Introducción a la libreŕıa ggplot2
Gráficos Univariados
I depth Porcentaje de profundidad z/mean(x, y)
I price: Precio en dólares norteamericanos
I table: Ancho de la parte superior
I x: Largo en mm
I y: Ancho en mm
I z: Profundidad en mm
: , 19
Introducción a la libreŕıa ggplot2
Gráficos Univariados
Vista rápida de la tabla diamonds
> head(diamonds)
# A tibble: 6 x 10
carat cut color clarity depth table price x y z
<dbl> <ord> <ord> <ord> <dbl> <dbl> <int> <dbl> <dbl> <dbl>
1 0.23 Ideal E SI2 61.5 55 326 3.95 3.98 2.43
2 0.21 Premium E SI1 59.8 61 326 3.89 3.84 2.31
3 0.23 Good E VS1 56.9 65 327 4.05 4.07 2.31
4 0.290 Premium I VS2 62.4 58 334 4.2 4.23 2.63
5 0.31 Good J SI2 63.3 58 335 4.34 4.35 2.75
6 0.24 Very Good J VVS2 62.8 57 336 3.94 3.96 2.48
>
> tail(diamonds)
# A tibble: 6 x 10
carat cut color clarity depth table price x y z
<dbl> <ord> <ord> <ord> <dbl> <dbl> <int> <dbl> <dbl> <dbl>
1 0.72 Premium D SI1 62.7 59 2757 5.69 5.73 3.58
2 0.72 Ideal D SI1 60.8 57 2757 5.75 5.76 3.5
3 0.72 Good D SI1 63.1 55 2757 5.69 5.75 3.61
4 0.7 Very Good D SI1 62.8 60 2757 5.66 5.68 3.56
5 0.86 Premium H SI2 61 58 2757 6.15 6.12 3.74
6 0.75 Ideal D SI2 62.2 55 2757 5.83 5.87 3.64
: , 20
Introducción a la libreŕıa ggplot2
Gráficos Univariados
Gráfico 1: Gráfico de la densidad de carat
ggplot(diamonds, aes(carat)) +
geom_density()
0.0
0.5
1.0
1.5
0 1 2 3 4 5
carat
de
ns
ity
: , 21
Introducción a la libreŕıa ggplot2
Gráficos Univariados
Gráfico 2: Gráfico de la densidad de carat manipulando el color.
ggplot(diamonds, aes(carat)) +
geom_density(fill = "blue",
alpha = 0.2)
0.0
0.5
1.0
1.5
0 1 2 3 4 5
carat
de
ns
ity
: , 22
Introducción a la libreŕıa ggplot2
Gráficos Univariados
Gráfico 3: Gráfico de la densidad de carat manipulando el color y ampli-
ficando el ancho del suavizado con la opción adjust.
ggplot(diamonds, aes(carat)) +
geom_density(adjust = 5,
fill = "blue",
alpha = 0.2)
0.0
0.2
0.4
0.6
0.8
0 1 2 3 4 5
carat
de
ns
ity
: , 23
Introducción a la libreŕıa ggplot2
Gráficos Univariados
Gráfico 4: Gráfico de la densidad de carat para cada una de las categoŕıas
de cut, esa opción se debe agregar en el aes y los datos deben estar de
manera vertical.
ggplot(diamonds, aes(carat,
fill = cut)) +
geom_density(adjust = 5,
alpha = 0.2)
0.00
0.25
0.50
0.750 1 2 3 4 5
carat
de
ns
ity
cut
Fair
Good
Very Good
Premium
Ideal
: , 24
Introducción a la libreŕıa ggplot2
Gráficos Univariados
Gráfico 5: Gráfico de barra para las categoŕıas de la variable cut.
ggplot(diamonds, aes(cut)) +
geom_bar(fill ="red",
alpha =0.3)
0
5000
10000
15000
20000
Fair Good Very Good Premium Ideal
cut
co
un
t
: , 25
Introducción a la libreŕıa ggplot2
Gráficos Univariados
Gráfico 6: Gráfico de barra para las categoŕıas de la variable cut y dentro
de las categoŕıas distinguir por la variable color.
ggplot(diamonds,
aes(cut,fill = color)) +
geom_bar(alpha =0.3)
0
5000
10000
15000
20000
Fair Good Very Good Premium Ideal
cut
co
un
t
color
D
E
F
G
H
I
J
: , 26
Introducción a la libreŕıa ggplot2
Gráficos Univariados
Gráfico 7: Gráfico idem al gráfico 6 pero manipulando las barras para mejor
comprensión con la opción position=’dodge’.
ggplot(diamonds,
aes(cut, fill = color)) +
geom_bar(alpha = 0.3,
position=’dodge’)
0
1000
2000
3000
4000
5000
Fair Good Very Good Premium Ideal
cut
co
un
t
color
D
E
F
G
H
I
J
: , 27
Introducción a la libreŕıa ggplot2
Gráficos Univariados
Gráfico 8: Gráfico 7 modificando las facetas y las etiquetas para un mejor
entendimiento, la faceta será por color.
ggplot(diamonds, aes(cut,
fill = color)) +
geom_bar(alpha =0.3,
position=’dodge’) +
facet_wrap(~color) +
theme(axis.text.x =
element_text(angle = 90,
hjust = 1))
J
G H I
D E F
Fa
ir
G
oo
d
V
er
y
G
oo
d
P
re
m
iu
m
Id
ea
l
Fa
ir
G
oo
d
V
er
y
G
oo
d
P
re
m
iu
m
Id
ea
l
Fa
ir
G
oo
d
V
er
y
G
oo
d
P
re
m
iu
m
Id
ea
l
0
1000
2000
3000
4000
5000
0
1000
2000
3000
4000
5000
0
1000
2000
3000
4000
5000
cut
co
un
t
color
D
E
F
G
H
I
J
: , 28
Introducción a la libreŕıa ggplot2
Gráficos Univariados
Gráfico 9: Histograma de la variable carat.
ggplot(diamonds, aes(carat)) +
geom_histogram(fill ="red",
alpha =0.3)
0
5000
10000
15000
0 1 2 3 4 5
carat
co
un
t
: , 29
Introducción a la libreŕıa ggplot2
Gráficos Univariados
Gráfico 10: Histograma de la variable carat reportando la frecuencia re-
lativa y el número de bins.
ggplot(diamonds,
aes(carat,..density..)) +
geom_histogram(fill ="red",
alpha =0.3,
bins = 15)
0.0
0.3
0.6
0.9
0 2 4
carat
de
ns
ity
: , 30
Introducción a la libreŕıa ggplot2
Gráficos Bivariados
Gráficos Bivariados
: , 31
Introducción a la libreŕıa ggplot2
Gráficos Bivariados
Gráficos Bivariados
La colección de gráficos que dispone ggplot2 es alta porque se pueden
combinar los siguientes casos:
I Ambas variables continuas
I Ambas variables discretas
I Variable discreta con variable continua
: , 32
Introducción a la libreŕıa ggplot2
Gráficos Bivariados
Cuando ambas variables son continuas los gráficos más utilizados:
I geom_point: Gráfico de dispersión
I geom_smooth: Gráfico de dispersión que ajusta una regresión nopa-
ramétrica
I geom_quantile: Gráfico de dispersión que ajusta regresión de quan-
tiles.
I geom_density2d: Muestra las curvas de contorno estimada de la
distribución conjunta por kernel.
: , 33
Introducción a la libreŕıa ggplot2
Gráficos Bivariados
Ilustración 2: Para la ilustración de geom_point se utiliza la tabla diamonds,
que se filtra para valores de cut igual a Fair. Se realiza un gráfico de dis-
persión sencillo entre carat y price.
ejemplo1 <- diamonds %>%
filter(cut == "Fair")
ggplot(ejemplo1, aes(carat,price)) +
geom_point(color = "red",
alpha = 0.2,
size = 3)
0
5000
10000
15000
0 1 2 3 4 5
carat
pr
ic
e
: , 34
Introducción a la libreŕıa ggplot2
Gráficos Bivariados
De manera similar al gráfico 8 se pueden agregar facetas y no filtrar apriori
los datos. Ahora se realiza el gráfico anterior sin filtrar y como faceta cut
ggplot(diamonds, aes(carat,
price,
color = cut)) +
geom_point(alpha = 0.2,
size = 3) +
facet_wrap(~cut)
: , 35
Introducción a la libreŕıa ggplot2
Gráficos Bivariados
Ilustración 3: En esta ilustración se utiliza la tabla prestige de la libreŕıa
car. Este conjunto de datos fue presentado en la libreŕıa sparklyr.
El set de datos dispone de las siguiente variables por ocupación:
I education: Número de años promedio para la ocupación
I income: Ingreso promedio en dólares
I women: Porcentaje de mujeres en la ocupación
I prestige: Calificación promedio del prestigio de la ocupación
I census: Código de la ocupación en la encuesta
I type: Categoŕıa de la ocupación (profesional, etc.)
: , 36
Introducción a la libreŕıa ggplot2
Gráficos Bivariados
Vista de los primeros 8 registros
> head(Prestige,8)
education income women prestige census type
gov.administrators 13.11 12351 11.16 68.8 1113 prof
general.managers 12.26 25879 4.02 69.1 1130 prof
accountants 12.77 9271 15.70 63.4 1171 prof
purchasing.officers 11.42 8865 9.11 56.8 1175 prof
chemists 14.62 8403 11.68 73.5 2111 prof
physicists 15.64 11030 5.13 77.6 2113 prof
biologists 15.09 8258 25.65 72.6 2133 prof
architects 15.44 14163 2.69 78.1 2141 prof
: , 37
Introducción a la libreŕıa ggplot2
Gráficos Bivariados
Gráfico 1: Se realiza un gráfico de dispersión entre las variables education
y income, luego se suma al gráfico una regresión lineal
ggplot(Prestige, aes(education,
income)) +
geom_point(color = "red",
alpha = 0.2,
size = 3) +
geom_smooth(method = "lm")
0
10000
20000
6 8 10 12 14 16
education
in
co
m
e
: , 38
Introducción a la libreŕıa ggplot2
Gráficos Bivariados
Gráfico 2: Se realiza un gráfico de dispersión entre las variables education
y income, luego se suma al suavizado con loess
ggplot(Prestige, aes(education,
income)) +
geom_point(color ="red",
alpha = 0.2,
size = 3) +
geom_smooth(span = 0.3)
0
10000
20000
6 8 10 12 14 16
education
in
co
m
e
: , 39
Introducción a la libreŕıa ggplot2
Gráficos Bivariados
Gráfico 3: Se realiza un gráfico de dispersión entre las variables education
y income, ahora se gráfica la regresión de quantiles sobre 0.25, 0.5 y 0.75
ggplot(Prestige, aes(education,
income)) +
geom_point(color ="red",
alpha = 0.2,
size = 3) +
geom_quantile(quantiles =
c(0.25,0.5,0.75),
size = 1.3,
alpha = 0.5)
0
10000
20000
6 8 10 12 14 16
education
in
co
m
e
: , 40
Introducción a la libreŕıa ggplot2
Gráficos Bivariados
Gráfico 4: Se realiza un gráfico de contorno sobre el gráfico de dispersión
entre las variables education y income.
ggplot(Prestige, aes(education,
income)) +
geom_point(color = "red",
alpha = 0.2,
size = 3) +
xlim(4.5, 17) +
geom_density_2d()
0
10000
20000
5.0 7.5 10.0 12.5 15.0 17.5
education
in
co
m
e
: , 41
Introducción a la libreŕıa ggplot2
Gráficos Bivariados
Cuando se tiene una variable discreta y una variable continua los gráficos
más utilizados en ggplot2 son:
I geom_boxplot: Boxplot de los datos
I geom_bar: Gráfico barra utilizando una variable cuantitativa
: , 42
Introducción a la libreŕıa ggplot2
Gráficos Bivariados
Gráfico 1: A continuación se realiza el boxplot entre type y income.
ggplot(Prestige, aes(type,
income)) +
geom_boxplot(alpha = 0.3,
fill = "red")
0
10000
20000
bc prof wc NA
type
in
co
m
e
: , 43
Introducción a la libreŕıa ggplot2
Gráficos Bivariados
Gráfico 2: Aqúı se realiza el boxplot anterior pero se modifica el coeficiente
que multiplica el IQR de 1.5 (por defecto) a 0.5
ggplot(Prestige, aes(type,
income)) +
geom_boxplot(alpha = 0.3,
fill ="red",
coef = 0.5)
0
10000
20000
bc prof wc NA
type
in
co
m
e
: , 44
Introducción a la libreŕıa ggplot2
Gráficos Bivariados
Gráfico 3: Utilizando la tabla diamonds se realiza un gráfico de barra para
la variable cut pero se considera la variable price para el valor de cada
barra
plot1 = ggplot(diamonds, aes(cut)) +
geom_bar(aes(weight = price),fill="red",
alpha=0.3) +
theme(axis.text.x =
element_text(angle = 90,hjust = 1))
plot2 = ggplot(diamonds, aes(cut))+
geom_bar(fill="red",alpha=0.3) +
theme(axis.text.x =
element_text(angle = 90,hjust = 1))
require(gridExtra)
grid.arrange(plot1, plot2, ncol=2)
0e+00
2e+07
4e+07
6e+07
Fa
ir
G
oo
d
V
er
y
G
oo
d
P
re
m
iu
m
Id
ea
l
cut
co
un
t
0
5000
10000
15000
20000
Fa
ir
G
oo
d
V
er
y
G
oo
d
P
re
m
iu
m
Id
ea
l
cut
co
un
t
: , 45
Introducción a la libreŕıa ggplot2
Gráficos Bivariados
Libreŕıa ggmap
: , 46
Introducción a la libreŕıa ggplot2
Gráficos Bivariados con ggmap
Gráfico son la libreŕıa ggmap
I ggmap es libreŕıa de R que permite hacer una visualización espacial de
datos, permitiendo conectar con los mapas estáticos de Google Maps,
OpenStreetMaps, Stamen Maps o Naver Map
I Tiene la misma estructura de programación de capas que ggplot2 y
permite utilizarlos en conjunto
: , 47
Introducción a la libreŕıa ggplot2
Gráficos Bivariados con ggmap
Descargar mapa:
I Primero se descarga las imágenes del mapa desde googlemap, através
del comando get_map()
I Para obtener el mapa se requiere de argumento de la función la ubi-
cación (longitud/latitud) del centro del mapa
I Si no se conoce longitud o latitud, se puede obtener con el comando
getcode() escribiendo ya sea la dirección del lugar, código postal o
nombre propio
: , 48
Introducción a la libreŕıa ggplot2
Gráficos Bivariados con ggmap
Graficar mapa:
I Se grafica el mapa con el comando ggmap() o qmplot()
I Si se quieren agregar puntos al gráfico se puede hacer agregando capas
con ggplot2
: , 49
Introducción a la libreŕıa ggplot2
Gráficos Bivariados con ggmap
Ilustración: El fichero delitosSF.csv contiene 878.049 delitos en la ciu-
dad de San Francisco desde el 6 de Enero del 2003 al 13 de Mayo del 2015.
Cada delito está etiquetado como perteneciente a una de las 39 categoŕıas.
Cada fila de la base de datos representa un evento y se registraron las
siguientes variables:
Date D́ıa, mes, año y hora en que fue el delito
Category Categoŕıa del delito
Descript Descripción del suceso
DayOfWeek D́ıa de la semana del suceso
PdDistrict Departamento de polićıa del distrito que ocurrió el suceso
Resolution Como el suceso se resolvió
Address La dirección del suceso
X Longitud
Y Latitud
: , 50
Introducción a la libreŕıa ggplot2
Gráficos Bivariados con ggmap
Gráfico 1: El siguiente código muestra la ubicación de los delitos del año
2015 según su longitud y latitud para cada uno de los distritos
final <- grepl("2015",newdatos$Dates)
datos2015 <- newdatos$Dates[final]
final2015Data <- filter(newdatos,newdatos$Dates %in% datos2015)
qmplot(X,Y, data = final2015Data, zoom = 13, maptype = "toner-lite",
source = "stamen",
geom = "point",color=factor(PdDistrict)) +
guides(colour = guide_legend(override.aes = list(alpha=1.0, size=6.0),
title = "Distritos")) +
ggtitle("Crı́menes en San Francisco en el a~no 2015")
: , 51
Introducción a la libreŕıa ggplot2
Gráficos Bivariados con ggmap
: , 52
Introducción a la libreŕıa ggplot2
Gráficos Bivariados con ggmap
Gráfico 2: En gráfico se presenta de densidad estimada de todos los delitos,
sin distinguir por distrito.
qmplot(X,Y,data=final2015Data, maptype = "toner-lite",color = I("steelblue"))+
geom_density_2d(color = "red") +
ggtitle("Delitos en San Francisco en el 2015")
: , 53
Introducción a la libreŕıa ggplot2
Gráficos Bivariados con ggmap
: , 54
Introducción a la libreŕıa ggplot2
Gráficos Bivariados con ggmap
Gráfico 3: En gráfico se presenta de densidad estimada de todos los delitos
por d́ıa de la semana.
qmplot(X, Y, data = final2015Data, geom = "blank", maptype = "toner-background",
darken = .7, legend = "bottomright") +
stat_density_2d(aes(fill = ..level..),
geom = "polygon",
alpha = .3, color = NA) +
scale_fill_gradient2("N de Crı́menes", low = "white", mid = "yellow",
high = "red", midpoint = 750,limits=c(250,1500)) +
facet_wrap(~ DayOfWeek)+
ggtitle("Estimación Densidad de los Crı́menes \n en SF por dı́a en 2015") +
theme(plot.title = element_text(hjust = 0.5,size=18))
: , 55
Introducción a la libreŕıa ggplot2
Gráficos Bivariados con ggmap
: , 56
Agenda de la Presentación
Contenidos
Shiny en RStudio
: , 57
Shiny en RStudio
Introducción
Shiny es una herramienta desarrollada por RStudio para construir aplica-
ciones web y reportes interactivos en R. Algunas caracteŕısticas:
I Comunicar de forma didáctica los análisis
I Integra todas las libreŕıas desarrolladas para R
I No se necesita tener conocimiento de HTML, JavaScrip
Powered by TCPDF (www.tcpdf.org)
: , 58
Shiny en RStudio
Introducción
La arquitectura de Shiny app funciona con 2 archivos:
I server.R: Es la función con las instrucciones para construir los ob-
jetos R que se muestran en la interfaz del reporte
I ui.R: Los códigos que se ejecutan para crear el diseño y las conexiones
del usuario con el HTML para la aplicación
: , 59
Shiny en RStudio
Introducción
Para crear la aplicación se debe realizar lo siguiente:
I Crear un directorio con el nombre de la aplicación
I Dentro del directorio almacenar los archivos server.R y ui.R.
I Dentro del directorio las tabla a utilizar ocupar
I Opcional un directorio denotado www para almacenar imágenes, CSS,
etc.
I Opcional un archivo global.R con los objetos en R para ser utilizados
por server.R y ui.R.
: , 60
Shiny en RStudio
Introducción
La estructura básica es la siguiente:
ui.R
library(shiny)
shinyUI(pageWithSidebar(
headerPanel("tı́tulo"),
sidebarPanel(),
mainPanel()
))
server.R
library(shiny)
shinyServer(function(input,output)
{
})
: , 61
Shiny en RStudio
Introducción
Aqúı note lo siguiente:
I En ui.R está el diseño de la página, el t́ıtulo del panel lateral (dado
el diseño de la página), los ’widgets’ en el panel lateral y el panel
principal
I En server.R la función utiliza los parámetros input aprovisionados
en ui.R y retorno los parámetros declarados output para ser presen-
tados en el ui.R.
: , 62
Shiny en RStudio
Introducción
La dinámica es la siguiente:
Powered by TCPDF (www.tcpdf.org)
: , 63
Shiny en RStudio
Introducción
Los ’widgets’ básicos para la aplicación son:
Powered by TCPDF (www.tcpdf.org)
: , 64
Shiny en RStudio
Introducción
Tabla con las funciones para crear las ’widgets’
function widget
actionButton() Action Button
checkboxGroupInput() A group of check boxes
checkboxInput() A single check box
dateInput() A calendar to aid date selection
dateRangeInput() A pair of calendars for selecting a date range
fileInput() A file upload control wizard
helpText() Help text that can be added to an input form
numericInput() A field to enter numbers
radioButtons() A set of radio buttons
selectInput() A box with choices to select from
sliderInput() A slider bar
submitButton() A submit button
textInput() A field to enter text
: , 65
Shiny en RStudio
Introducción
I Todas las funciones para crear ’widgets’ tiene el nombre de la
variable input que será utilizada en el server.R y el nombre del
’widgets’ que estará presente en la app.
I En server.R se ejecuta el código y retorno lo que se declare por
output. Los output tienen asociado un render que puede crear los
siguientes objetos
function espera crea
renderDataTable objetos como tablas tabla DataTables.js
renderImage lista atributos imagenes imagen HTML
renderPlot gráfica gráfica
renderPrint salida impresa texto
renderTable objetos como tablas tabla simple
renderText cadena de caracteres texto
: , 66
Shiny en RStudio
Introducción
I El output de server.R tiene que ser especificado en el ui.R. Las
siguientes funciones imprimen los resultados en ui.R usando la si-
guiente relación
output$graf <- renderPlot({.}) ⇐⇒ plotOutput(’graf’)
La tabla con las relaciones
Funciones output
dataTableOutput() tableOutput
htmlOutput() textOutput
imageOutput() uiOutput
plotOutput() verbatimTextOutput
: , 67
Shiny en RStudio
Introducción
A continuación una revisión de la app primera_app
Poweredby TCPDF (www.tcpdf.org)
: , 68
Shiny en RStudio
Introducción
revisión de la segunda app primera_app
Powered by TCPDF (www.tcpdf.org)
: , 69
Agenda de la Presentación
Contenidos
Fin Presentación
: , 70