Ohjelmointi

Kuinka ajaa R 4.0 Dockerissa - ja 3 hienoa uutta R 4.0 -ominaisuutta

R 4.0: ssa on joitain mielenkiintoisia muutoksia ja päivityksiä. Tässä tarkastelen kolmea niistä. Lisäksi annan sinulle vaiheittaiset ohjeet R 4.0: n asentamiseen, jotta se ei häiritse nykyistä R-asennustasi - suorittamalla R Dockerin kanssa.

Docker on alusta luoda "kontteja" - täysin itsenäisiä, eristettyjä ympäristöjä tietokoneellesi. Ajattele niitä kuin minijärjestelmää järjestelmässäsi. Niihin kuuluu oma käyttöjärjestelmä ja sitten kaikki mitä haluat lisätä siihen - sovellusohjelmistot, komentosarjat, tiedot jne. kiertämättä nykyistä paikallista asetusta.

R 4.0: n ja RStudion uusimman esikatseluversion suorittaminen Docker-kontissa on melko helppoa. Jos et halua seurata tämän opetusohjelman Docker-osaa ja haluat vain nähdä R: n uudet ominaisuudet, vieritä alas Kolme uutta R 4.0 -ominaisuutta -kohtaan.

Suorita R 4.0 Docker-säiliössä

Jos sinä olisi haluaisin seurata, asenna työpöydän Docker järjestelmään, jos sinulla ei vielä ole sitä: Siirry osoitteeseen //www.docker.com/products/docker-desktop ja lataa oikea työpöytäversio tietokoneellesi (Windows, Mac tai Linux). Käynnistä sitten se. Sinun pitäisi nähdä valas Docker-kuvake käynnissä jonnekin järjestelmässäsi.

Sharon Machlis,

Seuraavaksi tarvitsemme Docker-kuvan R 4.0: lle. Voit ajatella Docker-kuvaa ohjeistona luoda kontti, johon sisältyy tietty ohjelmisto. Kiitos Adelmo Filholle (datatieteilijä Brasiliassa) ja Rocker R Docker -projektille, jotka tarjoavat erittäin hyödyllisiä Docker-kuvia. Muutin heidän Docker-kuvansa vain hieman tekemään tässä opetusohjelmassa käyttämäni.

Tässä on syntaksi juosta Docker-kuva omassa järjestelmässäsi säilön luomiseksi.

telakointiasema --rm -p 8787: 8787 -v / path / to / local / dir: / home / rstudio / newdir käyttäjänimi / docker_image_name: image_tag

satamatyöläinen miten sinun on käynnistettävä mikä tahansa Docker-komento. juosta tarkoittaa, että haluan suorittaa kuvan ja luoda siitä säilön. --rm lippu tarkoittaa astian poistamista, kun se on valmis. Et omistaa sisällyttää --rm; mutta jos sinulla on paljon säilöjä etkä poista niitä, ne alkavat viemään paljon levytilaa. p 8787: 8787 tarvitaan vain kuville, jotka on suoritettava järjestelmäportissa, minkä RStudio tekee (samoin kuin Shiny, jos aiot sisällyttää sen jonain päivänä). Yllä oleva komento määrittää portin 8787, joka on RStudion tavallinen oletusarvo.

-v luo äänenvoimakkuuden. Muistatko, kun sanoin, että Docker-kontit ovat itsenäisiä ja eristettyjä? Se tarkoittaa eristetty. Oletusarvon mukaan säilö ei voi käyttää sitä mitä tahansa sen ulkopuolella, ja muu järjestelmäsi ei voi käyttää mitään sisällä astiaan. Mutta jos määrität äänenvoimakkuuden, voit linkittää paikallisen kansion säilön sisällä olevaan kansioon. Sitten ne synkronoidaan automaattisesti. Syntaksi:

-v polku / paikalliseen / hakemistoon: / polku / konttiin / hakemistoon

RStudion kanssa käytät yleensä / koti / rstudio / uuden_hakemiston nimi konttihakemistolle.

Lopussa telakointiajo -komento on suoritettavan kuvan nimi. Kuvani, kuten monet Docker-kuvat, tallennetaan Docker Hubiin, palveluun, jonka Docker on perustanut jakamaan kuvia. Kuten GitHubissa, pääset projektiin määrittämällä a käyttäjänimi / uudelleennimi. Tässä tapauksessa lisäät myös yleensä : the_tag, mikä auttaa, jos samasta kuvasta on olemassa eri versioita.

Alla on koodi, jota voit muokata suorittamaan kuvani R 4.0: lla ja RStudion uusimmalla esikatseluversiolla järjestelmässäsi. Varmista, että korvaa polun johonkin sinun hakemistot / Users / smachlis / Document / MoreWithR. Voit suorittaa tämän Mac-pääteikkunassa, Windowsin komentokehotteessa tai PowerShell-ikkunassa.

telakointiasema --rm -p 8787: 8787 -v / Users / smachlis / Documents / MoreWithR: / home / rstudio / morewithr sharon000 / my_rstudio_image: version1

Kun suoritat tämän komennon ensimmäistä kertaa, Dockerin on ladattava kuva Docker Hubista, joten se voi kestää jonkin aikaa. Sen jälkeen, ellet poista paikallista kopiota kuvasta, sen pitäisi olla paljon nopeampi.

Nyt kun avaat paikallinen isäntä: 8787 selaimessa sinun pitäisi nähdä RStudio.

Sharon Machlis,

Oletuskäyttäjänimi ja salasana ovat molemmat rstudio, mikä olisi tietysti kauheaa, jos suoritat tätä pilvessä. Mutta mielestäni se on hieno paikallisella koneellani, koska minulla ei yleensä ole minkä tahansa salasana tavallisella RStudio-työpöydälläni.

Jos tarkistat R-version säilöitävässä R / RStudiossa, näet sen version 4.0. RStudion tulee olla versio 1.3.947, viimeisin esikatseluversio tämän artikkelin ensimmäisen julkaisuhetkellä. Nämä ovat molemmat erilaisia ​​versioita kuin paikalliseen koneelleni asennetut versiot.

Kolme uutta R 4.0 -ominaisuutta

Joten nyt tarkastellaan muutamia uusia ominaisuuksia R 4.0: sta.

Uudet merkkijonotAsFactors oletuksena

Luon alla olevaan koodiin yksinkertaisen datakehyksen, joka sisältää tietoja neljästä kaupungista, ja tarkistan sitten rakenteen.

 Kaupunki <- c ("New York", "San Francisco", "Boston", "Seattle") osavaltio <- c ("NY", "CA", "MA", "Seattle") PopDensity <- c (26403 , 18838, 13841, 7962) tiheydet <- data.frame (kaupunki, osavaltio, PopDensity) str (tiheydet) 'data.frame': 4 obs. / 3 muuttujaa: $ Kaupunki: chr "New York" "San Francisco" "Boston" "Seattle" $ Osavaltio: chr "NY" "CA" "MA" "Seattle" $ PopDensity: numero 26403 18838 13841 7962 

Huomaa jotain odottamatonta? Kaupunki ja osavaltio ovat merkkijonoja, vaikka en tarkentanut stringsAsFactors = EPÄTOSI. Kyllä, viimeinkin R data.frame -oletus on stringsAsFactors = EPÄTOSI. Jos suoritan saman koodin R: n vanhemmassa versiossa, kaupunki ja osavaltio ovat tekijöitä.

Uudet väripaletit ja toiminnot

Seuraavaksi tarkastellaan uutta sisäänrakennettua toimintoa R 4.0: ssa: palette.pals (). Tämä näyttää joitain sisäänrakennettuja väripaletteja.

 palette.pals () [1] "R3" "R4" "ggplot2" "Okabe-Ito" [5] "aksentti" "tumma 2" "pariksi" "pastelli 1" [9] "pastelli 2" "sarja 1" "Sarja 2" "Sarja 3" [13] "Pöytä 10" "Klassinen pöytä" "Polykromi 36" "Aakkoset" 

Toinen uusi toiminto, paletti.värit (), antaa tietoja sisäänrakennetusta paletista.

 palette.colors (paletti = "Tableau 10") sininen oranssi punainen vaaleansininen vihreä keltainen violetti "# 4E79A7" "# F28E2B" "# E15759" "# 76B7B2" "# 59A14F" "# EDC948" "# B07AA1" vaaleanruskea vaaleanharmaa " # FF9DA7 "" # 9C755F "" # BAB0AC " 

Jos suoritat sitten vaaka-paketin show_col () toiminto tuloksissa, saat mukavan värinäytön paletista.

asteikot :: show_col (paletti.värit (paletti = "Pöytä 10"))

Sharon Machlis,

Tein pienen toiminnon yhdistämällä nämä kaksi, jotka voivat olla hyödyllisiä tarkastellessani joitain sisäänrakennettuja paletteja yhdellä koodirivillä:

display_built_in_palette <- toiminto (oma_paletti) {

asteikot :: show_col (paletti.värit (paletti = oma_paletti))

}

display_built_in_palette ("Okabe-Ito")

Sharon Machlis,

Mikään näistä koodeista ei toimi R: n aiemmissa versioissa, koska vain asteikot :: show_col () on saatavana ennen R 4.0.

Pakenevat merkit merkkijonoissa

Tarkastellaan lopuksi uutta toimintoa, joka helpottaa merkkien sisällyttämistä merkkijonoihin.

Syntaksi on r "(merkkijoni täällä)". Tässä on yksi esimerkki:

string1 <- r "(" Minun ei enää tarvitse paeta näitä "lainausmerkkejä lainauksen sisällä", he sanoivat.) "

Kyseinen merkkijono sisältää kaksoislainausparin sisällä olevan pakenemattoman lainausmerkin. Jos näytän kyseisen merkkijonon, saan tämän:

 > kissa (merkkijono1) "Minun ei enää tarvitse paeta näitä" lainausmerkkejä lainauksen sisällä ", he sanoivat. 

Voin myös tulostaa kirjaimen \ n uuden toiminnon sisällä.

 string2 <- r "(Tässä on vinoviiva n \ n)" cat (merkkijono2) Tässä on takaviiva n \ n 

Ilman erityistä r "()" toiminto \ n luetaan rivinvaihtona eikä sitä näytetä.

 string3 <- "Tässä on taaksepäin viiva n \ n" kissa (string3) Tässä on taaksepäin vinoviiva n 

Ennen tätä tukiasemassa R, sinun piti paeta kyseinen taaksepäin viiva toisella taaksepäin.

 string4 <- "Tavallinen pakeneva \ n" kissa (merkkijono4) Tavallinen pakeneva \ n 

Se ei ole iso juttu tässä esimerkissä, mutta se voi mutkistaa, kun työskentelet monimutkaisten säännöllisten lausekkeiden tapaan.

R 4.0: ssa on paljon enemmän uusia. Voit tarkistaa kaikki yksityiskohdat R-projektin verkkosivustolta.

Lisätietoja Dockerin käytöstä R: n kanssa on rOpenSci Labsin lyhyessä mutta erinomaisessa R Docker -oppaassa.

Ja lisää R-vinkkejä, siirry Tee enemmän R-sivulle!