ShinyLive-sovellusten integrointi pkgdown-verkkosivustoon GitHub-sivuilla

ShinyLive-sovellusten integrointi pkgdown-verkkosivustoon GitHub-sivuilla
ShinyLive-sovellusten integrointi pkgdown-verkkosivustoon GitHub-sivuilla

Paranna vuorovaikutteisuutta ei-koodaajille ShinyLiven avulla

Datajoukkojen ja aputoimintojen isännöinti GitHub-sivuilla on erinomainen tapa saada resurssit saataville. R:n kanssa työskenteleville kehittäjille vuorovaikutteisuuden integrointi voi entisestään parantaa käyttäjien sitoutumista, erityisesti ei-koodaajien, jotka tutkivat tietojasi. ShinyLive tarjoaa käytännöllisen ratkaisun tällaisen interaktiivisuuden upottamiseen suoraan pkgdown-verkkosivustoon.

Huolimatta resurssien saatavuudesta Shiny-sovellusten sisällyttämiseen R-paketteihin tai GitHub-sivuihin, ShinyLiven ja pkgdown-verkkosivustojen tehokkaassa yhdistämisessä on edelleen puutteita. Koska henkilö ylläpitää pieniä R-paketteja, joissa on tietojoukkoja ja aputoimintoja, pyrit todennäköisesti tekemään tietojen tutkimisesta intuitiivista ja käyttäjäystävällistä. ShinyLive voi täyttää tämän kuilun.

Shiny-sovelluksen sisällyttäminen pkgdown-verkkosivustosi "Artikkelit"-osioon tarjoaa virtaviivaistetun tavan tarjota interaktiivisia ominaisuuksia ylikuormittamatta R-paketin dokumentaatiota. Tämä menetelmä varmistaa, että myös käyttäjät, jotka eivät tunne koodausta, voivat helposti osajoukkoa ja visualisoida tiedot. Se on win-win sekä kehittäjille että käyttäjille! 🚀

Kuvittele esimerkiksi terveystietojoukko, jossa käyttäjät voivat suodattaa väestötietoja demografisten tietojen mukaan. ShinyLiven avulla voit rakentaa ja ottaa käyttöön tämän sovelluksen GitHub-sivuilla, jolloin tiedot ovat käytettävissä dynaamisella tavalla. Tässä artikkelissa kerrotaan, kuinka voit saavuttaa tämän vaiheittaisesti nykyisten sovellusasetuksien avulla. 🛠️

Komento Käyttöesimerkki
selectInput Käytetään Shiny UI:ssa luomaan pudotusvalikko vaihtoehtojen valitsemista varten. Esimerkki: selectInput("var", "Valitse muuttuja:", valinnat = nimet(mtcars)). Tämä mahdollistaa dynaamisen käyttäjän syötteen muuttujan valintaa varten.
sliderInput Luo liukusäätimen syöttöwidgetin Shinyyn, jotta käyttäjät voivat valita arvoalueen. Esimerkki: sliderInput("alue", "Suodatinalue:", min = 0, max = 100, arvo = c(25, 75)). Välttämätön interaktiivisessa suodatuksessa.
renderPlot Käytetään Shiny-palvelinlogiikassa luomaan piirroksia dynaamisesti käyttäjän syötteen perusteella. Esimerkki: output$plot
filter A function from dplyr to subset data based on conditions. Example: filter(get(input$var) >Toiminto dplyr:stä osajoukkotietoihin olosuhteiden perusteella. Esimerkki: filter(get(tulo$muuttuja) >= syöte$alue[1]). Hyödyllinen käytettäessä käyttäjän määrittämiä suodattimia tietojoukoissa.
aes_string Käytetään ggplot2:ssa estetiikan, kuten x- ja y-akselien, ohjelmointiin. Esimerkki: aes_string(x = input$var). Ihanteellinen dynaamiseen juonen luomiseen.
geom_histogram ggplot2-taso histogrammin visualisointien luomiseen. Esimerkki: geom_histogram(laatikot = 10, täyttö = "sininen", väri = "valkoinen"). Hyödyllinen sovelluksen jakelujen visualisointiin.
uses YAML-syntaksi GitHub Actionsissa uudelleenkäytettävien toimintojen määrittämiseksi. Esimerkki: uses: action/checkout@v3. Varmistaa saumattoman integroinnin ennalta määritettyjen työnkulkujen kanssa.
shinylive.js JavaScript-kirjasto Shiny-sovellusten suorittamiseen selaimessa. Esimerkki: . Mahdollistaa kiiltoisten sovellusten upottamisen staattisille HTML-sivuille.
Shinylive.App Alustaa ja suorittaa ShinyLive-sovelluksen määritetyssä HTML-säilössä. Esimerkki: const app = new Shinylive.App("#shiny-app");. Tarjoaa selainpohjaisia ​​sovellustoimintoja.
sliderInput Luo liukusäätimen numeerisen alueen valintaa varten. Esimerkki: sliderInput("alue", "Suodatinalue:", min = 0, max = 100, arvo = c(25, 75)). Lisää dynaamisen alueen suodatuksen käyttäjille.

Interaktiivisten tiedonhakutyökalujen luominen Shinyliven avulla

Ensimmäinen skripti, joka on rakennettu R:n ja Shinyn avulla, keskittyy luomaan dynaamisen käyttöliittymän, jonka avulla käyttäjät voivat tutkia tietojoukkoja interaktiivisesti. The valitse Input -komento on välttämätön, jotta käyttäjät voivat valita muuttujia dynaamisesti avattavasta valikosta ja räätälöidä sovelluksen tarpeidensa mukaan. Pariksi yhdistetty liukusäädinsyöttö, käyttäjät voivat tarkentaa tutkimistaan ​​valitsemalla tietyn arvoalueen suodattaakseen tietoja. Esimerkiksi tietojoukossa, kuten mtcars, käyttäjät voivat valita "mpg" muuttujaksi ja käyttää liukusäädintä eristääkseen autot, joiden ajokilometrit ovat 20–30. Tämä yhdistelmä varmistaa käyttäjäystävällisen ja intuitiivisen käyttöliittymän. 🚀

Palvelinpuolen logiikka täydentää käyttöliittymää luomalla reaktiivisia lähtöjä käyttäjän syötteiden perusteella. Tässä, renderPlot toiminto on ratkaiseva – se käsittelee suodatetun tietojoukon ja luo dynaamisia visualisointeja lennossa. dplyrin integrointi suodattaa toiminto mahdollistaa tietojoukon saumattoman osajoukon, kun taas ggplot2:n geom_histogrammi varmistaa visuaalisesti houkuttelevan ja informatiivisen juonen. Kuvittele terveystietojoukko, jossa käyttäjä voisi suodattaa ikäjakaumia ja nähdä välittömästi terveysmittareiden jakautumisen – tämä skripti mahdollistaa tällaisen vuorovaikutteisuuden kehittäjien vaivalla.

Toinen komentosarja keskittyy käyttöönoton automatisoimiseen GitHub Actionsin avulla. Tämä on erityisen tärkeää pkgdown-sivustojen tehokkaan ylläpidon ja päivittämisen kannalta. Hyödyntämällä a deploy-app.yaml tiedostoa, voit automatisoida päivitysten lähettämisen ja ShinyLive-sovelluksen käyttöönoton. Näppäinkomennot kuten action/checkout@v3 varmista, että arkiston viimeisintä koodia käytetään, kun taas Shinylive-kohtainen asennus integroituu saumattomasti työnkulkuun. Kuvittele esimerkiksi päivittäväsi sovelluksesi uusilla suodattimilla tai ominaisuuksilla – tämä automaatio varmistaa, että muutokset näkyvät verkossa välittömästi, mikä säästää aikaa ja vähentää manuaalisia virheitä. ⚙️

Kolmas ratkaisu sisältää Shiny-sovelluksen käärimisen staattiseen HTML-tiedostoon. Käyttämällä shinylive.js, kehittäjät voivat upottaa sovelluksen suoraan pkgdown-verkkosivustoonsa ohittaen aktiivisen R-palvelimen tarpeen. Tämä menetelmä tekee sovelluksesta pääsyn käyttäjille, joilla ei ole R:tä asennettuna, mikä parantaa käytettävyyttä. Opettaja voisi esimerkiksi jakaa väestötietoja käsittelevän interaktiivisen sovelluksen opiskelijoille, jotka voivat tutkia sitä suoraan selaimensa kautta. Tämä ratkaisu on erityisen arvokas muille kuin koodaajille, koska se muuttaa monimutkaiset tietojoukot mukaansatempaavaksi ja opettavaksi kokemukseksi. 🌐

Kiiltävän sovelluksen upottaminen pkgdown-verkkosivustoon Shinyliven avulla

Ratkaisu 1: R ja Shinylive käyttöliittymän ja taustajärjestelmän integrointiin

# 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)

Shinyliven käyttöönotto GitHub-toimintojen avulla

Ratkaisu 2: Automatisoi käyttöönotto GitHub Actionsin ja Shinyliven avulla

# 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: ./

Staattisen HTML-kääreen lisääminen Shiny-sovellukseen

Ratkaisu 3: Kiiltävän sovelluksen kääriminen staattiseen HTML:ään pkgdown-integraatiota varten

< !-- 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>

Paranna pkgdown-verkkosivustojen käytettävyyttä ja suorituskykyä ShinyLiven avulla

Yksi voimakas käytön etu ShinyLive on sen kyky mahdollistaa erillinen vuorovaikutus ilman aktiivista R-palvelinta. Tämä tekee siitä täydellisen sovellusten isännöimiseen staattisilla alustoilla, kuten GitHub Pages. Toisin kuin perinteiset Shiny-sovellukset, jotka tarvitsevat jatkuvaa palvelintukea, ShinyLive muuntaa sovelluksesi itsenäiseksi JavaScript-paketiksi. Tämä paketti voidaan upottaa suoraan pkgdown-verkkosivustollesi, jolloin käyttäjät voivat tutkia tietojoukkojasi saumattomasti millä tahansa selaimella. Jos R-pakettisi sisältää esimerkiksi joukon ilmanlaatumittareita, käyttäjät voivat suodattaa ja visualisoida tiedot dynaamisesti ilman lisäohjelmistojen asentamista. 🌍

Toinen etu on sen sopeutumiskyky ei-koodaajia. Sisällyttämällä ominaisuuksia, kuten avattavia valikoita ja liukusäätimiä, luot ympäristön, jossa kuka tahansa voi olla vuorovaikutuksessa tietojesi kanssa. Esimerkiksi terveydenhuollon ammattilainen voisi tutkia väestötietoja valitsemalla ikäryhmiä tai alueita ilman, että hänen tarvitsee kirjoittaa yhtä koodiriviä. ShinyLiven ja GitHub Pagesin yhdistelmä varmistaa, että nämä interaktiiviset ominaisuudet ovat helposti saatavilla ja intuitiivisia, mikä tekee projektistasi erittäin vaikuttavan laajemmalle yleisölle. 🧩

Lisäksi ShinyLive parantaa pkgdown-verkkosivustosi suorituskykyä optimoimalla sovelluksen suorittamiseen tarvittavat resurssit. Koska koko logiikka on koottu JavaScriptiin, sovellukset latautuvat nopeammin ja tarjoavat sujuvampaa vuorovaikutusta. Tämä on erityisen hyödyllistä esitellessäsi suuria tietojoukkoja, joissa kaavioiden renderöiminen tai suodattimien käyttäminen saattaa muutoin aiheuttaa viiveitä. Tuloksena on ammattitason käyttökokemus, joka vastaa nykyaikaisia ​​verkkostandardeja ja saavutettavuusodotuksia. 🚀

Usein kysyttyjä kysymyksiä ShinyLiven käyttämisestä pkgdown-verkkosivustoilla

  1. Kuinka upotan Shiny-sovelluksen pkgdown-verkkosivustoon?
  2. Voit käyttää ShinyLive muuntaaksesi Shiny-sovelluksesi JavaScript-paketiksi ja upottaaksesi sen Articles pkgdown-verkkosivustosi osio.
  3. Onko ShinyLive-sovelluksille välttämätön live R-palvelin?
  4. Ei, ShinyLive-sovellukset ovat itsenäisiä ja voivat toimia suoraan selaimessa ilman aktiivista R-palvelinta.
  5. Voinko päivittää sovelluksen automaattisesti, kun siirrän muutoksia GitHubiin?
  6. Kyllä, voit käyttää GitHub Actions käyttöönoton automatisoimiseksi. Työnkulku kuten deploy-app.yaml voi hoitaa tämän puolestasi.
  7. Millaisia ​​käyttäjävuorovaikutuksia voin sisällyttää?
  8. Voit lisätä ominaisuuksia, kuten selectInput pudotusvalikoille ja sliderInput numeerisia alueita varten, jotta sovelluksestasi tulee erittäin interaktiivinen.
  9. Sopiiko ShinyLive muille kuin koodaajille?
  10. Täysin! ShinyLiven avulla muut kuin koodaajat voivat tutkia tietoja interaktiivisten widgetien avulla, mikä tekee siitä erinomaisen esteettömyystyökalun.

Interaktiivinen tietojen tutkiminen on helppoa

ShinyLive tarjoaa käyttäjäystävällisen ratkaisun interaktiivisuuden integroimiseen pkgdown-sivustoihin. Muuntamalla Shiny-sovellukset selainvalmiiksi JavaScript-nipuiksi, se avaa ovet kiinnostavaan datan visualisointiin kaikentasoisille käyttäjille. Esimerkiksi demografista tietojoukkoa voidaan tutkia yksinkertaisten avattavien valikoiden ja liukusäätimien avulla. 🌟

ShinyLiven yhdistäminen GitHub Actionsin kanssa virtaviivaistaa käyttöönottoprosessia ja varmistaa, että verkkosivustosi pysyy vaivattomasti ajan tasalla. Olitpa kehittäjä tai data-ammattilainen, tämä lähestymistapa kattaa teknisen sisällön ja intuitiivisen käyttökokemuksen välisen kuilun, mikä tekee tietotarinoistasi elossa verkkoselaimessa. 📊

Resurssit ja referenssit
  1. Sisältö ja esimerkit ovat saaneet inspiraationsa virallisesta ShinyLive-dokumentaatiosta ja opetusohjelmista. Lisätietoja on osoitteessa ShinyLive Johdanto .
  2. Käyttöönoton työnkulkuja on mukautettu ShinyLive GitHub -varasto , joka sisältää esimerkkejä GitHub Actions -työnkuluista ja integrointivinkkejä.
  3. pkgdown-integraatiostrategiaa ohjasi pkgdown dokumentaatio , joka tarjoaa oivalluksia R-pakettien dokumentaatiosivustojen luomiseen ja hallintaan.
  4. Lisäinspiraatiota saatiin tutkimalla elävää esimerkkiä osoitteessa SC:n väestön GitHub-sivu , joka esittelee ShinyLiven todellisen sovelluksen pkgdownissa.