R Academy · Lesson

Introduction to Shiny Apps

Build interactive web applications in R to share data insights with stakeholders.

Lesson 2 of 310 steps

Introduction to Shiny Apps is a free R Academy lesson on CoddyKit. This is lesson 2 of 3. Any 3 lessons of this learning path are free to read in full — after that, CoddyKit PRO unlocks every lesson, plus hands-on practice with a built-in code editor and a 24/7 AI tutor. It is part of the R Academy learning path, and your progress syncs across the web and the CoddyKit app. The R Academy course includes 3 lessons in total.

What Is Shiny?

Introduction to Shiny Apps

Shiny is an R package that allows you to build interactive web applications directly from R. It is widely used for data visualization and reporting.

Introduction to Shiny Apps — illustration 1

Installing and Loading Shiny

Before using Shiny, install and load the package.

install.packages('shiny')
library(shiny)

Basic Structure of a Shiny App

A Shiny app consists of two main parts:

  • UI (User Interface): Defines the layout and appearance.
  • Server: Contains the logic and computations.

Creating a Simple Shiny App

Use shinyApp() to create a basic interactive application.

library(shiny)
ui <- fluidPage(
  titlePanel('Hello Shiny!'),
  sidebarLayout(
    sidebarPanel(sliderInput('num', 'Choose a number:', 1, 100, 50)),
    mainPanel(textOutput('value'))
  )
)
server <- function(input, output) {
  output$value <- renderText({ paste('You selected:', input$num) })
}
shinyApp(ui = ui, server = server)

Adding Reactive Elements

Reactive expressions update automatically when inputs change.

server <- function(input, output) {
  reactive_text <- reactive({ paste('Your number squared is:', input$num^2) })
  output$value <- renderText({ reactive_text() })
}

Creating Interactive Plots

Use renderPlot() to display interactive plots.

server <- function(input, output) {
  output$plot <- renderPlot({
    hist(rnorm(input$num), col='blue', main='Random Histogram')
  })
}

Running a Shiny App

Save your script as app.R and run it using shiny::runApp().

Deploying a Shiny App

Shiny apps can be deployed online using shinyapps.io or hosted on a Shiny server.

Shiny Apps Summary

Summary

In this lesson, you learned:

  • How to create and structure a Shiny app.
  • How to use reactive elements for interactivity.
  • How to deploy a Shiny app online.
Introduction to Shiny Apps — illustration 10
Free to start

Learn R with an AI tutor — free

Write and run real code in your browser, get instant help from a 24/7 AI tutor, and pick up where you left off on the web or in the app.

Courses
43
Lessons
159

Frequently Asked Questions

Is the “Introduction to Shiny Apps” lesson free?

Yes — any 3 lessons of the R Academy learning path, including “Introduction to Shiny Apps”, are free to read in full here on the web. After that, CoddyKit PRO unlocks every lesson, plus interactive practice with a built-in code editor and a 24/7 AI tutor. The R Academy course includes 3 lessons in total.

What will I learn in “Introduction to Shiny Apps”?

Build interactive web applications in R to share data insights with stakeholders. You practise R Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start R Academy?

No prior experience is required. R Academy on CoddyKit is structured for beginners through advanced learners, so you can start here or from the beginning and move at your own pace. This is lesson 2 of 3.

How long does the “Introduction to Shiny Apps” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this R Academy lesson?

Yes. Every R Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. R Markdown Basics
  2. Introduction to Shiny Apps
  3. Deployment and Best Practices
← Back to R Academy