2.6 R-koodipalat ja rivin R-koodi | R Markdown: Lopullinen opas (2024)

2.6R-koodipalat ja rivin R-koodi

Voit lisätä R-koodin osan joko RStudio-työkalurivin avulla (Lisää-painiketta) tai pikanäppäintäCtrl + Alt + I(Cmd + Optio + ImacOS:ssä).

Koodikappaleessa voi tehdä monia asioita: voit tuottaa tekstiä, taulukoita tai grafiikkaa. Voit hallita kaikkia näitä tulosteita hienosti lohkovaihtoehtojen avulla, jotka voidaan tarjota kiharan aaltosulkeiden sisällä (välissä```{rja}). Voit esimerkiksi valita Piilota tekstitulosteen kappalevaihtoehdon kauttatulokset = 'piilota', tai aseta hahmon korkeudeksi 4 tuumaa kauttakuva.korkeus = 4. Osavaihtoehdot erotetaan pilkuilla, esim.

```{r, chunk-label, results='piilota', fig.height=4}

Osavaihtoehdon arvo voi olla mielivaltainen R-lauseke, mikä tekee kappalevaihtoehdoista erittäin joustavia. Esimerkiksi chunk-vaihtoehtoevalmäärittää, arvioidaanko (suoritetaanko) koodipala, ja voit ehdollisesti arvioida kappaleen aiemmin määritellyn muuttujan kautta, esim.

``` {r}# Suorita koodi, jos päivämäärä on määritettyä päivää myöhempido_it = Sys.Date() > '2018-02-14'`````` {r, eval=do_it}x = rnorm(100)```

Siinä on suuri määrä lohkovaihtoehtojaknitrdokumentoitu osoitteessahttps://yihui.name/knitr/options. Luettelemme alla osan niistä:

  • eval: Arvioidaanko koodipala.

  • kaiku: Toistaako lähdekoodi tulosdokumentissa (joku ei ehkä mieluummin lukee älykästä lähdekoodia, vaan vain tuloksia).

  • tuloksia: Kun asetettu'piilottaa', tekstitulostus piilotetaan; kun se on asetettu'kuten on', tekstituloste kirjoitetaan "sellaisenaan", esim. voit kirjoittaa raakaa Markdown-tekstiä R-koodista (kutencat('**Markdown** on siistiä.\n')). Oletuksena tekstitulostus kääritään sanatarkasti elementteihin (yleensä pelkkiin koodilohkoihin).

  • romahdus: Yhdistetäänkö tekstituloste ja lähdekoodi yhdeksi tulosteen koodilohkoksi. Tämä on enimmäkseen kosmeettista:romahtaa = TOSItekee tulosteesta kompaktimman, koska R-lähdekoodi ja sen tekstitulostus näytetään yhdessä tulostelohkossa. Oletusarvoromahtaa = EPÄTOSItarkoittaa R-lauseketta ja niiden tekstitulostus on erotettu eri lohkoihin.

  • Varoitus,viesti, javirhe: Näytetäänkö varoitukset, viestit ja virheet tulosteasiakirjassa. Huomaa, että jos asetatvirhe = EPÄTOSI,rmarkdown::render()pysähtyy virheen sattuessa koodikappaleessa, ja virhe näytetään R-konsolissa. Samoin kunvaroitus = EPÄTOSItaiviesti = EPÄTOSI, nämä viestit näytetään R-konsolissa.

  • sisältää: Sisällytetäänkö tulosasiakirjaan mitään koodipalasta. Kunsisällyttää = EPÄTOSI, tämä koko koodipala jätetään pois lähdöstä, mutta huomaa, että se arvioidaan silti, joseval = TOSI. Kun yrität asettaakaiku = EPÄTOSI,tulokset = 'piilota',varoitus = EPÄTOSI, javiesti = EPÄTOSI, tarkoitat todennäköisesti vain yhtä vaihtoehtoasisällyttää = EPÄTOSIsen sijaan, että tukahduttaisit erityyppiset tekstit erikseen.

  • kätkö: otetaanko välimuisti käyttöön. Jos välimuisti on käytössä, samaa koodikappaletta ei arvioida seuraavan asiakirjan kääntämisen yhteydessä (jos koodikappaletta ei ole muokattu), mikä voi säästää aikaa. Haluan kuitenkin rehellisesti muistuttaa teitä kahdesta vaikeasta tietojenkäsittelytieteen ongelmasta (Phil Karltonin kautta): asioiden nimeäminen ja välimuistin mitätöiminen. Välimuisti voi olla kätevää, mutta joskus myös hankalaa.

  • fig.widthjafig.korkeus: R-kuvaajan (graafisen laitteen) koko tuumina. R-kuvaajat koodipaloissa tallennetaan ensin graafisen laitteen kauttaknitrja kirjoitetaan sitten tiedostoihin. Voit myös määrittää kaksi vaihtoehtoa yhdessä yhdeksi osavaihtoehdoksifig.dim, esim.,fig.dim = c(6, 4)tarkoittaakuva leveys = 6jakuva.korkeus = 4.

  • ulos.leveysjaulos.korkeus: R-tulosteen koko tulosasiakirjassa. Nämä vaihtoehdot voivat skaalata kuvia. Voit käyttää prosentteja, esim.out.width = '80 %'tarkoittaa 80 % sivun leveydestä.

  • fig.align: Kaavioiden kohdistus. Se voi olla'vasen','keskusta', tai'oikein'.

  • kehittäjä: Graafinen laite R-kuvan tallentamiseen. Tyypillisesti on'pdf'LaTeX-ulostulolle ja'png'HTML-tulostukseen, mutta voit varmasti käyttää muita laitteita, kuten"svg"tai'jpeg'.

  • fig.cap: Kuvan kuvateksti.

  • lapsi: Voit sisällyttää pääasiakirjaan aliasiakirjan. Tämä vaihtoehto vie polun ulkoiseen tiedostoon.

Osavaihtoehdot sisäänknitrvoi olla yllättävän voimakas. Voit esimerkiksi luoda animaatioita juonisarjasta koodikappaleessa. En selitä miten täällä, koskase vaatii ulkoisen ohjelmistopaketin, mutta kehota sinua lukemaan asiakirjat huolellisesti löytääksesi mahdollisuudet. Voit myös lukeaXie(2015), joka on kattava opasknitrpaketti, mutta valitettavasti puolueellinen LaTeX-käyttäjiä kohtaan historiallisista syistä (joka oli yksi syistä, miksi halusin kirjoittaa tämän R Markdown -kirjan).

On valinnainen chunk-vaihtoehto, joka ei ota mitään arvoa, joka on kappaleen otsikko. Sen pitäisi olla osan otsikon ensimmäinen vaihtoehto. Osatunnisteita käytetään pääasiassa tonttien ja välimuistin tiedostonimissa. Jos palan tunniste puuttuu, oletusarvoinen lomakeunnamed-chunk-isyntyy, missäion inkrementaalinen. Suosittelen, että käytät vain aakkosnumeerisia merkkejä (a-z,A-Zja0-9) ja viivat (-) tarroissa, koska ne eivät ole erikoismerkkejä ja toimivat varmasti kaikissa tulostusmuodoissa. Muut merkit, erityisesti välilyönnit ja alaviivat voivat aiheuttaa ongelmia tietyissä paketeissa, kutenkirja alas.

Jos tietty asetus on asetettava usein arvoon useissa koodipapereissa, voit harkita sen asettamista globaalisti asiakirjasi ensimmäisessä koodiosassa, esim.

```{r, setup, include=FALSE}knitr::opts_chunk$set(fig.width = 8, collapse = TRUE)```

Koodipalojen lisäksi voit myös lisätä R-objektien arvoja tekstiin. Esimerkiksi:

``` {r}x = 5 # ympyrän säde```Ympyrälle, jolla on säde`r x`,sen alue on`r pi * x^2`.

2.6.1Kuvat

Oletusarvoisesti R-koodin tuottamat luvut sijoitetaan välittömästi sen koodikappaleen jälkeen, josta ne on luotu. Esimerkiksi:

``` {r}tontti (autot, kpl = 18)```

Voit antaa kuvatekstin käyttämälläfig.caplohkovaihtoehdoissa. Jos asiakirjan tulostusmuoto tukee vaihtoehtoafig_caption: totta(esim. tulostusmuotormarkdown::html_document), R-kuvat sijoitetaan kuvioympäristöihin. PDF-tulosteen tapauksessa tällaiset luvut numeroidaan automaattisesti. Jos haluat numeroida lukuja myös muissa muodoissa (kuten HTML), katsokirja alasluvussa oleva paketti12(katso erityisesti kohta12.4.4).

PDF-dokumentit luodaan R Markdownista luotujen LaTeX-tiedostojen avulla. LaTeX-aloittelijoille erittäin yllättävä tosiasia on, että luvut kelluvat oletuksena: vaikka luoisit kaavion ensimmäisellä sivulla olevan koodikappaleen muodossa, koko kuvioympäristö voi kellua seuraavalle sivulle. Näin LaTeX toimii oletuksena. Sillä on taipumus kellua lukuja sivujen ylä- tai alaosaan. Vaikka se voi olla ärsyttävää ja häiritsevää, suosittelemme, että vältät "Whac-A-Mole" -pelin pelaamisen kirjoittamisen alussa, eli yrität epätoivoisesti sijoittaa hahmoja "oikein", kun ne näyttävät aina väistelevän sinua. Voit halutessasi hienosäätää paikkoja, kun sisältö on valmis käyttämälläfig.pospalavaihtoehto (esim.fig.pos = 'h'). Katsohttps://www.overleaf.com/learn/latex/Positioning_images_and_tablesmahdollisille arvoillefig.posja yleisempiä vinkkejä tästä käyttäytymisestä LaTeXissä. Lyhyesti sanottuna tämä voi olla vaikea ongelma PDF-tulostuksessa.

Voit sijoittaa useita lukuja vierekkäin samasta koodikappaleesta käyttämälläfig.show='hold'vaihtoehto yhdessäulos.leveysvaihtoehto. Kuva2.5näyttää esimerkin kahdesta kaaviosta, joiden leveys on50 %.

par(maaliskuu = c(4,4, .2, .1))juoni(autot,pch = 19)juoni(paine,pch = 17)

2.6 R-koodipalat ja rivin R-koodi | R Markdown: Lopullinen opas (1)2.6 R-koodipalat ja rivin R-koodi | R Markdown: Lopullinen opas (2)

KUVA 2.5: Kaksi tonttia vierekkäin.

Jos haluat sisällyttää grafiikan, jota ei ole luotu R-koodista, voit käyttääknitr::include_graphics()-toiminto, joka antaa sinulle enemmän hallintaa kuvan attribuutteihin kuin Markdown-syntaksia![alt text or image title](polku/kuvaan)(Voit esim. määrittää kuvan leveyden kauttaulos.leveys). Kuva2.6tarjoaa tästä esimerkin.

```{r, out.width='25%', fig.align='center', fig.cap='...'}knitr::include_graphics('images/hex-rmarkdown.png')```

2.6 R-koodipalat ja rivin R-koodi | R Markdown: Lopullinen opas (3)

KUVA 2.6: R Markdown -heksalogo.

2.6.2Taulukot

Helpoin tapa lisätä taulukoita on käyttääneuloa::kaapeli(), joka voi luoda taulukoita HTML-, PDF- ja Word-tulosteita varten.3Taulukon kuvatekstejä voi lisätä ohittamallakuvatekstitoimintoon, esim.

``` {r tables-mtcars}knitr::kable(iiris[1:5, ], caption = 'Teksti')```

Taulukot muissa kuin LaTeX-tulostusmuodoissa sijoitetaan aina koodilohkon jälkeen. LaTeX/PDF-tulostusmuodoissa taulukoissa on sama ongelma kuin kuvissa: ne voivat kellua. Jos haluat välttää tämän toiminnan, sinun on käytettävä LaTeX-pakettiapitkäpöytä, joka voi hajottaa taulukoita useille sivuille. Tämä voidaan saavuttaa lisäämällä\usepackage{pitkäpöytä}LaTeX:n johdanto-osaan ja ohittaminenpitkäpöytä = TOSItokaapeli().

Jos etsit edistyneempää taulukkojen tyylin hallintaa, suosittelemme käyttämäänkaapeli Extrapaketti, joka tarjoaa toimintoja PDF- ja HTML-taulukoiden ulkoasun mukauttamiseen. Taulukoiden muotoilu voi olla erittäin monimutkainen tehtävä, varsinkin kun tietyt solut kattavat useamman kuin yhden sarakkeen tai rivin. Se on vielä monimutkaisempaa, kun on harkittava erilaisia ​​tulostusmuotoja. Esimerkiksi monimutkaista taulukkoa on vaikea saada toimimaan sekä PDF- että HTML-tulostuksessa. Tiedämme, että se on pettymys, mutta joskus saatat joutua harkitsemaan vaihtoehtoisia tapoja esittää tietoja, kuten käyttää grafiikkaa.

Selitämme osiossa12.3kuinkakirja alaspaketti laajentaa toimintojarmarkdownmahdollistaaksesi kuvien ja taulukoiden helposti ristiinviittauksen tekstissäsi.

Viitteet

Xie, Yihui 2015.Dynaamiset asiakirjatRja Knitr. 2. painos Boca Raton, Florida: Chapman; Hall/CRC.https://yihui.name/knitr/.

  1. Voit myös harkitaparipaketti. Pöytien valmistukseen on olemassa useita muita paketteja, mmxtable,Hmisc, jatähtien katselija, mutta nämä ovat yleensä vähemmän yhteensopivia useiden tulostusmuotojen kanssa.↩︎

2.6 R-koodipalat ja rivin R-koodi | R Markdown: Lopullinen opas (2024)
Top Articles
Latest Posts
Article information

Author: Catherine Tremblay

Last Updated:

Views: 5424

Rating: 4.7 / 5 (67 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Catherine Tremblay

Birthday: 1999-09-23

Address: Suite 461 73643 Sherril Loaf, Dickinsonland, AZ 47941-2379

Phone: +2678139151039

Job: International Administration Supervisor

Hobby: Dowsing, Snowboarding, Rowing, Beekeeping, Calligraphy, Shooting, Air sports

Introduction: My name is Catherine Tremblay, I am a precious, perfect, tasty, enthusiastic, inexpensive, vast, kind person who loves writing and wants to share my knowledge and understanding with you.