Aprendiendo shiny con vosotros

1 Feb

No queda otro remedio. Necesito actualizarme un poco y comenzar a usar shiny y espero poder llegar a publicar en el blog las aplicaciones resultantes. No sé si seré capaz pero allá vamos. Lo primero es tener Rstudio instalado y empezar a escribir:

install.packages(«shiny»)
system.file(«examples», package=»shiny»)

Ya podemos ver los ejemplos de un modo muy sencillo:

runExample(«05_sliders») # slider bars

Aparece una app que podemos ver tanto en RStudio como en nuestro navegador. Si modificamos las barras cambian los números de la tabla de la derecha. Muy sencillo. Para comenzar a trabajar debemos conocer dos códigos de R que están guardados en su correspondiente carpeta. Son server.R y ui.R que podemos abrir en la carpeta [deWindows] C:\Users\fulanito\Documents\R\win-library\3.1\shiny\examples\05_sliders  Sin embargo nosotros vamos a copiar y pegar esta carpeta en la misma ubicación pero le damos el nombre prueba y abrimos server.R

library(shiny)

# Define server logic for slider examples
shinyServer(function(input, output) {

# Reactive expression to compose a data frame containing all of
# the values
sliderValues

# Compose data frame
data.frame(
Name = c(«Integer»,
«Decimal»,
«Range»,
«Custom Format»,
«Animation»),
Value = as.character(c(inputinteger,
input
decimal,
paste(inputrange, collapse=’ ‘),
input
format,
inputanimation)),
stringsAsFactors=FALSE)
})

# Show the values using an HTML table
outputvalues sliderValues()
})
})

Interesante el botón Run app de arriba a la derecha para ejecutar la aplicación, eso implica que estamos ante una aplicación de shiny. shinyServer define una función con una entrada y una salida. La entrada será alguno de los datos que le pasamos a la aplicación y la salida una tabla HTML. Veamos que tiene ui.R

library(shiny)

# Define UI for slider demo application
shinyUI(fluidPage(

# Application title
titlePanel(«Sliders»),

# Sidebar with sliders that demonstrate various available
# options
sidebarLayout(
sidebarPanel(
# Simple integer interval
sliderInput(«integer», «Integer:»,
min=0, max=1000, value=500),

# Decimal interval with step value
sliderInput(«decimal», «Decimal:»,
min = 0, max = 1, value = 0.5, step= 0.1),

# Specification of range within an interval
sliderInput(«range», «Range:»,
min = 1, max = 1000, value = c(200,500)),

# Provide a custom currency format for value display,
# with basic animation
sliderInput(«format», «Custom Format:»,
min = 0, max = 10000, value = 0, step = 2500,
format=»$#,##0″, locale=»us», animate=TRUE),

# Animation with custom interval (in ms) to control speed,
# plus looping
sliderInput(«animation», «Looping Animation:», 1, 2000, 1,
step = 10, animate=
animationOptions(interval=300, loop=TRUE))
),

# Show a table summarizing the values entered
mainPanel(
tableOutput(«values»)
)
)
))

Vemos que podemos cambiar el título y creamos cada uno de los sliders con la función sliderInput. Y tendremos un panel principal con la función mainPanel con una tabla que representa los valores que tenemos en los sliders. Os confieso que este código me recuerda mucho al AF de SAS y no es un código R al uso. Sobre este mismo ejemplo vamos a ir cambiando código para ir conociendo como creamos nuestras aplicaciones. Saludos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *