Presentacion de mi primera Shiny App

Santiago Escuder
25/08/2021

El codigo Shiny de esta App se encuentra en https://support.rstudio.com/hc/en-us/articles/200486468.

  • Se trata de la base Iris (dataset)
  • Es un modelo de regression del largo del tallo sobre el largo del petalo
  • Los resultados se ven en un diagrama de dispersion

Base de datos Iris y descriptivos de tendencia central

head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa
summary(iris)
  Sepal.Length    Sepal.Width     Petal.Length    Petal.Width   
 Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100  
 1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300  
 Median :5.800   Median :3.000   Median :4.350   Median :1.300  
 Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199  
 3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800  
 Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500  
       Species  
 setosa    :50  
 versicolor:50  
 virginica :50  



Grafico correlaciones generlaes

             Sepal.Length Sepal.Width Petal.Length Petal.Width
Sepal.Length    1.0000000  -0.1175698    0.8717538   0.8179411
Sepal.Width    -0.1175698   1.0000000   -0.4284401  -0.3661259
Petal.Length    0.8717538  -0.4284401    1.0000000   0.9628654
Petal.Width     0.8179411  -0.3661259    0.9628654   1.0000000

plot of chunk unnamed-chunk-2

Grafico relacion principal

plot of chunk unnamed-chunk-3

Codigo ui.R

library(shiny) shinyUI(fluidPage( titlePanel(“Prediccion Iris”), sidebarLayout( sidebarPanel( sliderInput(“sliderPL”, “Tamano Petalo”, 0, 10, value = 20), checkboxInput(“showModel1”, “Recta”, value = TRUE), submitButton(“Actualizar”) ), mainPanel( plotOutput(“plot1”), h3(“Prediccion:”), textOutput(“pred1”), h4(“Se trata de un analisis de la base Iris. Por mas informacion ver: https://rpubs.com/moeransm/intro-iris ”) ) ) ))

Codigo server.R

library(shiny) shinyServer(function(input, output) { model1 <- lm(Sepal.Length ~ Petal.Length, data = iris) model1pred <- reactive({ PLInput <- input$sliderPL predict(model1, newdata = data.frame(Petal.Length = PLInput)) })

output$plot1 <- renderPlot({ PLInput <- input$sliderPL plot(iris$Petal.Length, iris$Sepal.Length, xlab = “Tamano petalo”, ylab = “Tamano tallo”, bty = “n”, pch = 16, xlim = c(0, 10), ylim = c(0, 10)) if(input$showModel1){ abline(model1, col = “red”, lwd = 2) }

legend(25, 250, c(“Model 1 Prediction”), pch = 16, col = c(“red”, “blue”), bty = “n”, cex = 1.2) points(PLInput, model1pred(), col = “red”, pch = 16, cex = 2) })

output$pred1 <- renderText({ model1pred() })

})