R kiiltävä opetusohjelma: kaikki mitä sinun tarvitsee tietää



Tämä R Shiny -opetusohjelma antaa sinulle yksityiskohtaisen ja kattavan tiedon R Shiny-ohjelmasta ja interaktiivisten verkkosovellusten luomisesta.

Teknologian kehittyessä on syntynyt uudempia työkaluja ja kehyksiä reaaliaikaisia ​​tilastoja, karttoja ja kaavioita näyttävien verkkosovellusten rakentamiseksi. Koska nämä toiminnot vaativat paljon prosessointia ja synkronointia, ohjelmointikieliä käytetään palvelimen latausaikojen lyhentämiseen. Tässä R Shiny -oppaassa selitän, kuinka R voidaan hyödyntää parhaalla mahdollisella tavalla dynaamisissa verkkosovelluksissa.

Käsittelemme ja ymmärrämme seuraavat aiheet:





Mikä on R Shiny?

Shiny on R-paketti, jonka avulla käyttäjät voivat rakentaa interaktiivisia verkkosovelluksia. Tämä työkalu luo HTML-vastaavan verkkosovelluksen Shiny-koodista. Integroimme natiivin HTML- ja CSS-koodin R Shiny -toimintoihin, jotta sovelluksesta tulee näkyvää. Shiny yhdistää R: n laskennallisen voiman modernin verkon interaktiivisuuteen.Shiny luo verkkosovelluksia, jotka otetaan käyttöön verkossa palvelimesi tai R Shinyn isännöintipalvelujen avulla.

R Shinyn ominaisuudet:

  • Luo helppoja sovelluksia perustyökaluilla tai ilman tietoa verkkotyökaluista
  • Integroi Shiny natiivityökalujen avulla joustavuuden ja tuottavuuden parantamiseksi
  • Valmiit I / O- ja renderöintitoiminnot
  • Sovelluksen sisällön helppo renderointi ilman useita uudelleenlatauksia
  • Ominaisuus lisätä laskettuja (tai käsiteltyjä) lähtöjä R-skripteistä
  • Lisää reaaliaikaisia ​​raportteja ja visualisointeja.

Se johtaa meidät kysymykseen:



Kuinka Shiny eroaa perinteisistä sovelluksista?

Otetaan esimerkki sääsovelluksesta. Aina kun käyttäjä päivittää / lataa sivun tai muuttaa syötettä, sen tulisi päivittää koko sivu tai osa sivusta JS: n avulla. Tämä lisää kuormaa palvelinpuolelle käsittelyä varten. Kiiltävän avulla käyttäjä voi eristää tai hahmottaa (tai ladata) elementtejä sovelluksessa, mikä vähentää palvelimen kuormitusta. Sivujen selaaminen oli helppoa perinteisissä verkkosovelluksissa, mutta Shiny-sovellusten kanssa se oli vaikeaa. Koodin rakenteella on päärooli koodin ymmärtämisessä ja virheenkorjauksessa. Tämä ominaisuus on ratkaiseva kiiltäville sovelluksille suhteessa muihin sovelluksiin.

Siirrytään seuraavaan aiheeseen R Shiny -oppaassa, asennetaan R Shiny-paketti.

R Shiny: n asentaminen

Shiny: n asentaminen on kuin minkä tahansa muun paketin asentaminen R: ään R-konsoli ja asenna Shiny-paketti suorittamalla seuraava komento.



install.packages ('kiiltävä')

Asenna R Shiny - R shiny tutorial - Edureka

Kun olet asentanut, lataa Shiny-paketti luomaan Shiny-sovelluksia.

kirjasto (kiiltävä)

Ennen kuin siirrymme eteenpäin tässä R-kiiltävässä opetusohjelmassa, katsotaanpa ja ymmärretään kiiltävän sovelluksen rakenne.

Kiiltävän sovelluksen rakenne

Kiiltävä koostuu 3 komponentista:

  1. Käyttöliittymä
  2. Palvelin
  3. ShinyApp

yksi.Käyttöliittymän toiminto

Käyttöliittymä (UI) -toiminto määrittää sovelluksen asettelun ja ulkoasun. Voit lisätä CSS- ja HTML-tunnisteita sovellukseen, jotta sovelluksesta tulee entistä näkyvämpi. Toiminto sisältää kaikki sovelluksessa näytettävät tulot ja lähdöt. Jokainen sovelluksen sisällä oleva elementti (jako, välilehti tai valikko) määritetään funktioiden avulla. Näihin pääsee käyttämällä yksilöllistä tunnusta, kuten HTML-elementtejä.Opitaan lisää erilaisistasovelluksessa käytetyt toiminnot.

Kiiltävät asettelutoiminnot

  • headerPanel ()lisää otsikko sovellukseen. titlePaneeli () määrittää sovelluksen alaotsikon. Katso alla oleva kuva saadaksesi paremman käsityksen headerPanel ja titlePaneeli .
  • Sivupalkki Asettelu ()määrittelee pidettävän asettelun sivupalkkiPaneeli ja mainPanel elementtejä. Asettelu jakaa sovelluksen näytön sivupalkkipaneeliksi ja pääpaneeliksi. Esimerkiksi alla olevassa kuvassa punainen suorakaide on mainPanel alue ja mustan suorakaiteen alue pystysuunnassa on sivupalkkiPaneeli alueella.

  • wellPanel ()määrittelee säilön, joka pitää sisällään useita objekteja sovelluksen tulo- / lähtöobjekteja samassa ruudukossa.
  • tabsetPanel ()luo säilön välilehtien pitämiseen. tabPanel () lisää välilehden sovellukseen määrittelemällä välilehden elementit ja komponentit. Alla olevassa kuvassa mustasuorakulmio on tabsetPanel esine ja punainen suorakulmio on tabPanel esine.
  • paneeli ()tarjoaa sivuvalikon, jossa on linkit samanlaisiin välilehtipaneeleihin kuin tabsetPanel () kuten pystysuora luettelo näytön vasemmalla puolella. Alla olevassa kuvassa musta suorakulmio on navlistPaneeli esine ja punainen suorakulmio on tabPanel esine.

Kiiltävien asettelutoimintojen lisäksi voit myös lisätä sisäisen CSS: n kuhunkin sovelluksen syöttöwidgetiin.Shiny-sovellus sisältää verkkotekniikoiden ominaisuuksia sekä kiiltäviä R-ominaisuuksia ja toimintoja sovelluksen rikastamiseksi. Käytä HTML-tunnisteita Shiny-sovelluksessa tunnisteet $.

Asettelusi on valmis. On aika lisätä widgettejä sovellukseen. Shiny tarjoaa erilaisia ​​käyttäjän syöttö- ja lähtöelementtejä käyttäjän vuorovaikutukseen. Keskustelkaamme muutamista tulo- ja lähtötoiminnoista.

Kiiltävät tulotoiminnot

Jokaisella panoswidgetillä on tunniste, Id, muut parametrit, kuten valinta, arvo, valittu, min, max jne.

  • selectInput ()- luoda avattava HTML-elementti.
selectInput ('valitse', h3 ('Valitse ruutu'), valinnat = luettelo ('Valinta 1' = 1, 'Valinta 2' = 2, 'Valinta 3' = 3), valittu = 1)

  • numericInput ()- syöttöalue lukunumeron tai tekstin kirjoittamiseksi.
dateInput ('num', 'Date input', arvo = '2014-01-01') numericInput ('num', 'Numeerinen syöttö', arvo = 1) textInput ('num', 'Numeerinen syöttö', value = ' Kirjoita teksti ... ')

menetelmän ylikuormitus ja menetelmän ohittaminen Java-sovelluksessa
  • radioNapit ()- luoda valintapainikkeet käyttäjän syötteitä varten.
radiopainikkeet ('radio', h3 ('radiopainikkeet'), valinnat = luettelo ('valinta 1' = 1, 'valinta 2' = 2, 'valinta 3' = 3), valittu = 1)

Kiiltävät lähtötoiminnot

Shiny tarjoaa erilaisia ​​näyttötoimintoja R lähdöt, kuten kaaviot, kuvat, taulukot jne., jotka näyttävät vastaavat R esine.

  • plotTulos ()- näyttää R-objektin.
plotOutput'top_batsman ')
  • tableOutput ()- näyttää tuotoksen taulukkona.
tableOutput'player_table ')

2. Palvelintoiminto

Palvelin toiminto dTehostaa Shiny-sovelluksen palvelinpuolen logiikkaa. Siihen kuuluu sellaisten toimintojen ja lähtöjen luominen, jotka käyttävät panoksia erilaisten tulosten tuottamiseen. Jokainen asiakas (verkkoselain) kutsuu palvelintoimintoa ladatessaan Shiny-sovelluksen ensimmäisen kerran. Jokainen lähtö tallentaa palautusarvon renderöintitoiminnoista.

Nämä toiminnot sieppaavat R-lausekkeen ja tekevät lausekkeelle laskelmat ja esikäsittelyn. Käytä render * -toimintoa, joka vastaa määrittelemääsi lähtöä. Käytämme syöttöwidgettejäkäyttämällä kirjoita $ [widget-id] . Nämä syöttömuuttujat ovat reaktiivisia arvoja. Kaikki välimuuttujat, jotka on luotu syöttömuuttujien avulla, on tehtävä reaktiivisiksi reaktiivinen ({}) . Pääset muuttujiin käyttämällä ().

tehdä * funktiot suorittavat laskennan palvelintoiminnon sisällä ja tallentavat lähtömuuttujiin. Tulos on tallennettava output $ [ulostulomuuttujan nimi] . Jokainen tehdä * funktio vie yhden argumentin, ts. R-lausekkeen, jota ympäröivät aaltosulkeet, {}.

3. ShinyApp-toiminto

shinyApp ()toiminto onsovellus, joka soittaa SIPULI ja palvelin toiminnot luoda kiiltävä sovellus.

Alla olevassa kuvassa näkyy Shiny-sovelluksen ääriviivat.

Siirrytään seuraavaan segmenttiin R Shiny -opetusohjelmassa ensimmäisen R Shiny -sovelluksen luomiseksi.

Luo kiiltävä verkkoprojekti

Mene Tiedosto ja Luo a Uusi projekti missä tahansa hakemistossa -> Kiiltävä verkkosovellus -> [Kiiltävän sovellushakemiston nimi]. Kirjoita hakemiston nimi ja napsauta OK .

Jokainen uusi Shiny-sovellusprojekti sisältää histogrammiesimerkin kiiltävän sovelluksen perusteiden ymmärtämiseksi. Histogrammasovellus sisältää liukusäätimen, jota seuraa histogrammi, joka päivittää tuloksen liukusäätimen muutosta varten. Alla on histogrammasovelluksen tulos.

Suorita Shiny-sovellus napsauttamalla Suorita sovellus -painike lähdekentän oikeassa yläkulmassa. Kiiltävä sovellus näyttää liukusäätimen, joka ottaa lokeroiden määrän syötteeksi ja tekee histogrammin syötteen mukaan.

Nyt kun olet ymmärtänyt rakenteen ja kuinka käyttää Shiny-sovellusta. Siirrytään luomaan ensimmäinen kiiltävä sovelluksemme.

Luo ensimmäinen Shiny-sovellus

Voit joko luoda uuden projektin tai jatkaa samassa työhakemistossa. Tässä R Shiny -oppaassa luomme yksinkertaisen Shiny-sovelluksen IPL-tilastojen näyttämiseksi. Sovelluksessa käytetty tietojoukko voidaan ladata tässä . Aineisto sisältää 2 tiedostoa, toimitukset.csv sisältää jokaisen pallon (yli) lyöjän, pallomiehen pisteet, juoksutiedot ja ottelut.csv tiedosto sisältää ottelun yksityiskohdat, kuten ottelun sijainnin, heiton, tapahtumapaikan ja pelin yksityiskohdat. Alla oleva sovellus vaatii perustiedot dplyr ja ymmärtää alla oleva opetusohjelma.

c ++ goto-etiketti

Luo ensimmäinen kiiltävä sovelluksesi noudattamalla alla olevia ohjeita.

Vaihe 1 : Luo Shiny-sovelluksen ääriviivat.

Tyhjennä olemassa oleva koodi lukuun ottamatta funktion määritelmiä sovellus . R tiedosto.

Vaihe 2 : Lataa kirjastot ja tiedot.

Tässä vaiheessa lataamme vaaditut paketit ja tiedot. Puhdista ja muunna sitten puretut tiedot vaadittuun muotoon. Lisää alla oleva koodi ennen SIPULI ja palvelin toiminto.

Koodi:

kirjasto (kiiltävä) kirjasto (tidyverse) # Ladataan tietoaineistoa --------------------------------------- ---------------- toimitukset = read.csv ('C: UsersCherukuri_SindhuDownloadsdeliveries.csv', stringsAsFactors = FALSE) ottelut = read.csv ('C: UsersCherukuri_SindhuDownloadsmatches.csv', stringsAsFactors = EPÄTOSI) # Puhdistusaineisto --------------------------------------------- --------- nimet (ottelut) [1] = 'match_id' IPL = dplyr :: inner_join (ottelut, toimitukset)

Selitys :

Ensimmäiset 2 riviä latautuvat siistiä ja Kiiltävä paketti. Seuraavat 2 riviä lataavat tietojoukot toimitukset ja ottelut ja tallentuvat muuttujiintoimituksetjaOttelut. Viimeiset 2 riviä päivittävät sarakkeen nimenOtteluttietojoukko sisäisen liitoksen suorittamiseksitoimituksetpöytä. Tallennamme liitostuloksenIPLmuuttuja.

Vaihe 3 : Luo Shiny-sovelluksen asettelu .

Kuten aiemmin keskusteltiin, SIPULI -toiminto määrittää sovelluksen ulkonäön, widgetit ja objektit Shiny-sovelluksessa.Keskustellaan samasta yksityiskohtaisesti.

Koodi

sipuli<- fluidPage( headerPanel('IPL - Indian Premier League'), tabsetPanel( tabPanel(title = 'Season', mainPanel(width = 12,align = 'center', selectInput('season_year','Select Season',choices=unique(sort(matches$season, decreasing=TRUE)), selected = 2019), submitButton('Go'), tags$h3('Players table'), div(style = 'border:1px black solidwidth:50%',tableOutput('player_table')) )), tabPanel( title = 'Team Wins & Points', mainPanel(width = 12,align = 'center', tags$h3('Team Wins & Points'), div(style = 'float:leftwidth:36%',plotOutput('wins_bar_plot')), div(style = 'float:rightwidth:64%',plotOutput('points_bar_plot')) ) )))

SIPULI toiminto sisältää a headerPanel () tai titlePaneeli () ja sen jälkeen tabsetPanel määrittää useita välilehtiä sovelluksessa. tabPanel () määrittää objektit kullekin välilehdelle. Jokainen tabPanel () koostuu otsikosta ja mainPanel (). mainPanel () luo säiliön, jonka leveys on 12 eli koko ikkuna, ja kohdista sisääntulo- ja tulosobjektit keskelle.

Selitys

Sovellus koostuu 2 välilehdestä: Kausi ja Joukkueen voitot ja pisteet.

Kausi välilehti koostuu valitse Tulo ( ) , lähetä-painike ja taulukko. season_year käytetään lukemaan syötettä l: stäon arvoja. tableOutput () näyttää palvelintoiminnolla lasketun taulukon tuotoksen.Taulukko player_table näkyy alla olevan painikkeen alla, joka määritetään palvelintoiminnossa, josta keskustellaan seuraavassa vaiheessa. Joukkueen voitot ja pisteet välilehti näyttää joukkuekohtaisen voiton ja pisteet vastaavissa pylväskaavioissa. plotTulos () näyttää renderistä palautetut lähdöt * toimintoja. Kaikki lähtö-, tulotoiminnot on suljettu div-tagiin lisäämään tyyliä.

Nyt kun olemme perehtyneet ui-toimintoon, jatketaan palvelintoimintojen ymmärtämistä ja käyttöä R Shiny -oppaassa.

Vaihe 4: Lisää palvelinfunktiolausekkeet

palvelin toiminto sisältää toimintojen ja outp: n luomisenuts, jotka käyttävät käyttäjän syötteitä erilaisten tulosten tuottamiseen.palvelintoiminto selitetään vaihe vaiheelta alla.

match_year = reaktiivinen ({match%>% filter (season == input $ season_year)}) pudotuspeli = reaktiivinen ({nth (lajittele (match_year () $ match_id, laskeva = TRUE), 4)}) match_played = reaktiivinen ({match_year ()%>% filter (match_id% group_by (team1)%>% yhteenveto (count = n ())}) t2 = reaktiivinen ({match_played ()%>% group_by (team2)%>% yhteenveto (count = n ( ))}) wl = reaktiivinen ({match_played ()%>% filter (voittaja! = '')%>% group_by (voittaja)%>% yhteenveto (no_of_wins = n ())}) wl1 = reaktiivinen ({match_played ( )%>% group_by (voittaja)%>% yhteenveto (no_of_wins = n ())}) sidottu = reaktiivinen ({match_played ()%>% filter (voittaja == '')%>% select (team1, team2)} ) playertable = reaktiivinen ({data.frame (Joukkueet = t1 () $ team1, Pelatut = t1 () $ count + t2 () $ count, Voitot = wl () $ no_of_wins, Pisteet = wl () $ no_of_wins * 2) })

Yllä olevat koodisuodatinottelut pelattiin ennen pudotuspelejä joka vuosi, ja tallenna tulos match_played-muuttujaan.pelaaja_taulukkotaulukko sisältää joukkuekohtaiset ottelutilastot eli pelatut, voitot ja pisteet. Muuttujatmatch_played,pelaaja_taulukko,t1,sidottujne. ovat kaikki välituotteita reaktiiviset arvot . Näihin muuttujiin on päästävä käyttämällä (), kuten yllä olevassa koodissa on esitetty.pelaaja_taulukkonäkyy renderTable-toiminnolla. Luo seuraavaksi ulostulomuuttuja soittolistan tallentamiseksi.

output $ player_table = renderTable ({playertable ()})

Nyt voit luoda pylväskaavioita, jotka näyttävät kunkin joukkueen voitot ja pisteet kaudella. Alla oleva koodi näyttää pylväskaaviot ggplot-sovelluksella. renderPlot () hakee ggplot-objektin ja tallentaa tuloksen muuttujaanwins_bar_plot.Ggplot-koodi on itsestään selvä, se sisältää grafiikan ja kartoitustoiminnot selitteiden, tarrojen ja juovan muokkaamiseksi.

output $ wins_bar_plot = renderPlot ({ggplot (wl1 () [2: 9,], aes (voittaja, ei_voittoja, täyttö = voittaja)) + geom_bar (stat = 'identiteetti') + theme_classic () + xlab ('Joukkueet') + ylab ('Voittojen määrä') + teema (akseli.teksti.x = elementti_teksti (väri = 'valkoinen'), selite.asento = 'ei mitään', akseli.nimi = elementti_teksti (koko = 14), juoni.tausta = element_rect (color = 'white')) + geom_text (aes (x = voittaja, (no_of_wins + 0.6), label = no_of_wins, size = 7))}) output $ points_bar_plot = renderPlot ({ggplot (pelattavissa (), aes ( Joukkueet, Pisteet, täyttö = Joukkueet)) + geom_bar (stat = 'identiteetti', koko = 3) + theme_classic () + teema (axis.text.x = element_text (color = 'white'), legend.text = element_text ( size = 14), axis.title = element_text (size = 14)) + geom_text (aes (Joukkueet, (Pisteet + 1), etiketti = Pisteet, koko = 7))})

Vaihe 5: Suorita Shiny-sovellus.

Napsauta Suorita sovellus. Onnistuneen ajon aikana Shiny-sovelluksesi näyttää alla olevalta. Mikä tahansa virhe tai varoitusSovellukseen liittyviä se näyttää ne R-konsolissa.

Välilehti1 - Kausi

mitä muoto tekee pythonissa

Välilehti2 - Joukkueen voitot ja pisteet

Katsotaan mitenlavastaaShinyapps.io-tili Shiny-sovellusten käyttöönottoa varten.

Määritä Shinyapps.io-tili

Mene Shinyapps.io ja kirjaudu sisään tietojesi avulla, anna sivulle yksilöllinen tilin nimi ja tallenna se. Kun olet tallentanut onnistuneesti, näet yksityiskohtaisen menettelyn sovellusten asentamiseksi R-konsolista. Määritä tilisi Rstudiossa noudattamalla seuraavia ohjeita.

Vaihe 1. Asenna rsconnect

install.packages ('rsconnect')

Vaihe 2. Valtuuta tili

rliitä Paketin on oltava valtuutettu tilillesi tunnuksen ja salaisuuden avulla. Voit tehdä tämän kopioimalla koko komennon alla olevan hallintapaneelisivun kuvan mukaisesti R konsoli. Kun olet kirjoittanut komennon onnistuneesti R: ssä, valtuutan sinut asentamaan sovelluksia Shinyapps.io-tilillesi.

rsconnect :: setAccountInfo (nimi = 'tilin nimi', tunnus = 'tunnus', salaisuus = 'salaisuus')

Vaihe 3. Ota sovellus käyttöön

Käytä Shiny-sovelluksia alla olevan koodin avulla.

kirjasto (rsconnect) rsconnect :: deployApp ('polku / sovellukseesi / sovellukseesi')

Kun olet määrittänyt, olet valmis ottamaan käyttöön kiiltävät sovelluksesi.

Nyt kun olet oppinut luomaan ja käyttämään Shiny-sovelluksia, ota juuri luomamme sovellus käyttöön Shinyapps.io-ohjelmassa yllä kuvatulla tavalla tai napsauta julkaista, joka on Shiny-sovellusikkunan oikeassa yläkulmassa.

Toivonettä tämä R Shiny -opetusohjelma auttoi sinua oppimaan luomaan ja suorittamaan Shiny-sovelluksen. Pidä hauskaa luoda interaktiivisia ja kauniita verkkosovelluksia käyttämällä R Shiny -ohjelmaa.

Jos haluat oppia R-ohjelmoinnin ja rakentaa värikkään uran Data Analyticsissa, tutustu meidän joka sisältää ohjaajan vetämän live-koulutuksen ja tosielämän projektikokemuksen. Tämä koulutus auttaa sinua ymmärtämään data-analytiikkaa ja hallitsemaan aihetta.