ShinyLive Apps integrēšana pkgdown vietnē GitHub lapās

ShinyLive Apps integrēšana pkgdown vietnē GitHub lapās
ShinyLive Apps integrēšana pkgdown vietnē GitHub lapās

Uzlabojiet interaktivitāti lietotājiem, kuri nav kodējuši, izmantojot ShinyLive

Datu kopu un palīgfunkciju mitināšana vietnē GitHub Pages ir lielisks veids, kā padarīt resursus pieejamus. Izstrādātājiem, kas strādā ar R, interaktivitātes integrācija var vēl vairāk uzlabot lietotāju iesaisti, īpaši tiem, kas nav kodēti un pēta jūsu datus. ShinyLive piedāvā praktisku risinājumu šādas interaktivitātes iegulšanai tieši pkgdown vietnē.

Neskatoties uz resursu pieejamību Shiny lietotņu iekļaušanai R pakotnēs vai GitHub lapās, joprojām pastāv zināšanu trūkums par ShinyLive un pkgdown vietņu efektīvu apvienošanu. Tā kā persona, kas uztur nelielas R pakotnes ar datu kopām un palīgfunkcijām, jūs, iespējams, cenšaties padarīt datu izpēti intuitīvu un lietotājam draudzīgu. ShinyLive var pārvarēt šo plaisu.

Spīdīgas lietotnes iekļaušana pkgdown vietnes sadaļā Raksti piedāvā pilnveidotu veidu, kā nodrošināt interaktīvas funkcijas, nepārslogojot R pakotnes dokumentāciju. Šī metode nodrošina, ka pat lietotāji, kas nepārzina kodēšanu, var viegli apakškopus un vizualizēt datus. Tas ir abpusēji izdevīgs izstrādātājiem un lietotājiem! 🚀

Piemēram, iedomājieties veselības datu kopu, kurā lietotāji var filtrēt iedzīvotāju datus pēc demogrāfiskajiem datiem. Izmantojot ShinyLive, varat izveidot un izvietot šo lietotni GitHub lapās, padarot datus pieejamus dinamiskā veidā. Šajā rakstā ir aprakstīts, kā to panākt, izmantojot esošās lietotnes iestatījumus. 🛠️

Komanda Lietošanas piemērs
selectInput Izmanto Shiny UI, lai izveidotu nolaižamo izvēlni opciju atlasei. Piemērs: selectInput("var", "Select Variable:", choices = names(mtcars)). Tas ļauj lietotājam dinamiski ievadīt mainīgo atlasi.
sliderInput Izveido slīdņa ievades logrīku programmā Shiny, lai lietotāji varētu atlasīt vērtību diapazonu. Piemērs: sliderInput("diapazons", "filtra diapazons:", min = 0, max = 100, vērtība = c(25, 75)). Būtiski interaktīvai filtrēšanai.
renderPlot Izmanto Shiny servera loģikā, lai dinamiski ģenerētu diagrammas, pamatojoties uz lietotāja ievadi. Piemērs: output$plot
filter A function from dplyr to subset data based on conditions. Example: filter(get(input$var) >Funkcija no dplyr uz apakškopas datiem, pamatojoties uz nosacījumiem. Piemērs: filtrs(get(input$var) >= input$range[1]). Noderīga, lai datu kopām lietotu lietotāja definētus filtrus.
aes_string Izmanto ggplot2, lai programmatiski iestatītu estētiku, piemēram, x un y asis. Piemērs: aes_string(x = input$var). Ideāli piemērots dinamisku sižetu ģenerēšanai.
geom_histogram ggplot2 slānis, lai izveidotu histogrammas vizualizācijas. Piemērs: geom_histogram(bins = 10, fill = "zils", krāsa = "balts"). Noder, lai vizualizētu izplatīšanu lietotnē.
uses YAML sintakse pakalpojumā GitHub Actions, lai norādītu atkārtoti lietojamas darbības. Piemērs: uses: action/checkout@v3. Nodrošina nemanāmu integrāciju ar iepriekš noteiktām darbplūsmām.
shinylive.js JavaScript bibliotēka Shiny programmu palaišanai pārlūkprogrammā. Piemērs: . Iespējo spīdīgu lietotņu iegulšanu statiskās HTML lapās.
Shinylive.App Inicializē un palaiž ShinyLive lietotni noteiktā HTML konteinerā. Piemērs: const app = new Shinylive.App("#shiny-app");. Nodrošina uz pārlūkprogrammu balstītas lietotnes funkcionalitāti.
sliderInput Izveido slīdņa ievadi ciparu diapazona atlasei. Piemērs: sliderInput("diapazons", "filtra diapazons:", min = 0, max = 100, vērtība = c(25, 75)). Lietotājiem pievieno dinamiskā diapazona filtrēšanu.

Interaktīvu datu izpētes rīku izveide ar Shinylive

Pirmais skripts, kas izveidots, izmantojot R un Shiny, ir vērsts uz dinamiskas saskarnes izveidi, kas ļauj lietotājiem interaktīvi izpētīt datu kopas. The atlasiet Ievade komanda ir būtiska, lai lietotāji varētu dinamiski izvēlēties mainīgos no nolaižamās izvēlnes, pielāgojot lietotni savām vajadzībām. Pārī ar sliderInput, lietotāji var vēl vairāk uzlabot savu izpēti, atlasot noteiktu vērtību diapazonu datu filtrēšanai. Piemēram, tādā datu kopā kā mtcars, lietotāji var izvēlēties “mpg” kā mainīgo un izmantot slīdni, lai izolētu automašīnas, kuru nobraukums ir no 20 līdz 30. Šī kombinācija nodrošina lietotājam draudzīgu un intuitīvu saskarni. 🚀

Servera puses loģika papildina lietotāja interfeisu, ģenerējot reaktīvas izejas, pamatojoties uz lietotāja ievadi. Lūk, renderPlot funkcija ir ļoti svarīga — tā apstrādā filtrēto datu kopu un ģenerē dinamiskas vizualizācijas. Dplyr integrācija filtru funkcija ļauj nemanāmi iestatīt datu kopas apakškopu, savukārt ggplot2 geom_histogramma nodrošina vizuāli pievilcīgu un informatīvu sižetu. Iedomājieties veselības datu kopu, kurā lietotājs varētu filtrēt vecuma diapazonus un uzreiz redzēt veselības rādītāju sadalījumu — šis skripts ļauj izstrādātājiem šādu interaktivitāti ar minimālu piepūli.

Otrais skripts ir vērsts uz izvietošanas automatizāciju, izmantojot GitHub darbības. Tas ir īpaši svarīgi, lai efektīvi uzturētu un atjauninātu pkgdown vietnes. Izmantojot a deploy-app.yaml failu, varat automatizēt atjauninājumu nosūtīšanas un lietotnes ShinyLive izvietošanas procesu. Taustiņu komandas, piemēram action/checkout@v3 nodrošina, ka tiek izmantots jaunākais kods no repozitorija, savukārt Shinylive specifiskā iestatīšana nemanāmi integrējas darbplūsmā. Piemēram, iedomājieties lietotnes atjaunināšanu ar jauniem filtriem vai funkcijām — šī automatizācija nodrošina, ka izmaiņas nekavējoties tiek atspoguļotas tiešsaistē, ietaupot laiku un samazinot manuālās kļūdas. ⚙️

Trešais risinājums ietver lietotnes Shiny iesaiņošanu statiskā HTML failā. Izmantojot shinylive.js, izstrādātāji var iegult lietotni tieši savā pkgdown vietnē, apejot nepieciešamību pēc aktīva R servera. Šī metode padara lietotni pieejamu lietotājiem, kuriem nav instalēta R, tādējādi uzlabojot pieejamību. Piemēram, skolotājs varētu kopīgot interaktīvu lietotni par iedzīvotāju datiem ar skolēniem, kuri tos var izpētīt tieši no savām pārlūkprogrammām. Šis risinājums ir īpaši vērtīgs lietotājiem, kas nav kodēti, jo tas pārveido sarežģītas datu kopas saistošā un izglītojošā pieredzē. 🌐

Spīdīgas lietotnes iegulšana pkgdown vietnē, izmantojot Shinylive

1. risinājums: R ar Shinylive priekšgala un aizmugursistēmas integrācijai

# app.R
# Load necessary libraries
library(shiny)
library(dplyr)
library(ggplot2)

# UI definition
ui <- fluidPage(
  titlePanel("Interactive Data Viewer"),
  sidebarLayout(
    sidebarPanel(
      selectInput("var", "Select Variable:",
                  choices = names(mtcars)),
      sliderInput("range", "Filter Range:",
                  min = 0, max = 100, value = c(25, 75))
    ),
    mainPanel(plotOutput("plot"))
  )
)

# Server logic
server <- function(input, output) {
  output$plot <- renderPlot({
    data <- mtcars %>%
      filter(get(input$var) >= input$range[1],
             get(input$var) <= input$range[2])
    ggplot(data, aes_string(x = input$var)) +
      geom_histogram(bins = 10, fill = "blue", color = "white")
  })
}

# Run the app
shinyApp(ui, server)

Shinylive izvietošana, izmantojot GitHub darbības

2. risinājums: automatizējiet izvietošanu, izmantojot GitHub Actions un Shinylive

# deploy-app.yaml
# Workflow configuration
name: Deploy ShinyLive App

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout repository
      uses: actions/checkout@v3

    - name: Set up R
      uses: r-lib/actions/setup-r@v2

    - name: Install dependencies
      run: |
        Rscript -e "install.packages(c('shiny', 'shinylive'))"

    - name: Deploy app
      uses: posit-dev/r-shinylive@actions-v1
      with:
        app-dir: ./

Statiskā HTML iesaiņojuma pievienošana spīdīgajai lietotnei

3. risinājums: Shiny App iesaiņošana statiskā HTML formātā pkgdown integrācijai

< !-- index.html -->
<!DOCTYPE html>
<html>
<head>
  <title>Interactive Shiny App</title>
  <script src="shinylive.js"></script>
</head>
<body>
  <div id="shiny-app"></div>
  <script>
    const app = new Shinylive.App("#shiny-app");
    app.run();
  </script>
</body>
</html>

Uzlabojiet pkgdown vietņu pieejamību un veiktspēju, izmantojot ShinyLive

Viena spēcīga izmantošanas priekšrocība ShinyLive ir tā spēja iespējot savrupu interaktivitāti, nepaļaujoties uz aktīvu R serveri. Tas padara to lieliski piemērotu lietotņu mitināšanai statiskās platformās, piemēram, GitHub Pages. Atšķirībā no tradicionālajām Shiny lietotnēm, kurām nepieciešams pastāvīgs servera atbalsts, ShinyLive pārvērš jūsu lietojumprogrammu par autonomu JavaScript komplektu. Šo komplektu var iegult tieši jūsu pkgdown vietnē, ļaujot lietotājiem nemanāmi izpētīt jūsu datu kopas no jebkuras pārlūkprogrammas. Piemēram, ja jūsu R pakotnē ir iekļauta gaisa kvalitātes metrikas datu kopa, lietotāji var dinamiski filtrēt un vizualizēt datus, neinstalējot papildu programmatūru. 🌍

Vēl viena priekšrocība ir tās pielāgošanās spēja nekodētāji. Iekļaujot tādas funkcijas kā nolaižamās izvēlnes un slīdņus, jūs izveidojat vidi, kurā ikviens var mijiedarboties ar jūsu datiem. Piemēram, veselības aprūpes speciālists varētu pārbaudīt iedzīvotāju datus, atlasot vecuma grupas vai reģionus, nerakstot nevienu koda rindiņu. ShinyLive un GitHub Pages kombinācija nodrošina, ka šīs interaktīvās funkcijas ir viegli pieejamas un intuitīvas, padarot jūsu projektu ļoti iedarbīgu plašākai auditorijai. 🧩

Turklāt ShinyLive uzlabo jūsu pkgdown vietnes veiktspēju, optimizējot resursus, kas nepieciešami lietotnes palaišanai. Tā kā visa loģika ir apkopota JavaScript valodā, lietotnes tiek ielādētas ātrāk un piedāvā vienmērīgāku interaktivitāti. Tas ir īpaši noderīgi, lai parādītu lielas datu kopas, kur diagrammu renderēšana vai filtru lietošana citādi var izraisīt aizkavi. Rezultāts ir profesionāla līmeņa lietotāja pieredze, kas atbilst mūsdienu tīmekļa standartiem un pieejamības prasībām. 🚀

Bieži uzdotie jautājumi par ShinyLive lietošanu pkgdown vietnēs

  1. Kā pkgdown vietnē iegult lietotni Shiny?
  2. Jūs varat izmantot ShinyLive lai pārvērstu savu Shiny lietotni par JavaScript komplektu un iegultu to programmā Articles jūsu pkgdown vietnes sadaļā.
  3. Vai ShinyLive lietotnēm ir nepieciešams tiešs R serveris?
  4. Nē, ShinyLive lietotnes ir atsevišķas un var darboties tieši pārlūkprogrammā, neizmantojot aktīvu R serveri.
  5. Vai es varu automātiski atjaunināt lietotni, kad veicu izmaiņas GitHub?
  6. Jā, jūs varat izmantot GitHub Actions lai automatizētu izvietošanu. Tāda darbplūsma kā deploy-app.yaml var tikt galā ar to jūsu vietā.
  7. Kādus lietotāju mijiedarbības veidus varu iekļaut?
  8. Varat pievienot tādas funkcijas kā selectInput nolaižamajiem izvēlnēm un sliderInput ciparu diapazoniem, lai padarītu jūsu lietotni ļoti interaktīvu.
  9. Vai ShinyLive ir piemērots tiem, kas nav kodēti?
  10. Pilnīgi noteikti! ShinyLive ļauj lietotājiem, kas nav kodēti, izpētīt datus, izmantojot interaktīvus logrīkus, padarot to par lielisku pieejamības rīku.

Interaktīva datu izpēte ir vienkārša

ShinyLive nodrošina lietotājam draudzīgu risinājumu interaktivitātes integrēšanai pkgdown vietnēs. Pārveidojot Shiny lietotnes par pārlūkprogrammai sagatavotiem JavaScript komplektiem, tas paver durvis saistošai datu vizualizācijai visu prasmju līmeņu lietotājiem. Piemēram, demogrāfisko datu kopu var izpētīt, izmantojot vienkāršas nolaižamās izvēlnes un slīdņus. 🌟

ShinyLive apvienošana ar GitHub Actions racionalizē izvietošanas procesu, nodrošinot, ka jūsu vietne tiek pastāvīgi atjaunināta. Neatkarīgi no tā, vai esat izstrādātājs vai datu profesionālis, šī pieeja mazina plaisu starp tehnisko saturu un intuitīvo lietotāja pieredzi, padarot jūsu datu stāstus dzīvus tīmekļa pārlūkprogrammā. 📊

Resursi un atsauces
  1. Saturu un piemērus iedvesmojusi oficiālā ShinyLive dokumentācija un apmācības. Lai iegūtu sīkāku informāciju, apmeklējiet ShinyLive ievads .
  2. Izvietošanas darbplūsmas ir pielāgotas no ShinyLive GitHub krātuve , kas ietver GitHub Actions darbplūsmu paraugus un integrācijas padomus.
  3. Pkgdown integrācijas stratēģiju vadīja pkgdown dokumentācija , kas sniedz ieskatu R pakotņu dokumentācijas vietņu izveidē un pārvaldībā.
  4. Papildu iedvesma radās, izpētot dzīvu piemēru plkst SC iedzīvotāju GitHub lapa , kas demonstrē ShinyLive reālo pielietojumu programmā pkgdown.