Osa 3 Koodi lohkot | Toistettava tutkimus julkaisussa R (2024)

Olemme jo nähneet, että voimme korostaa minkä tahansa koodin kolminkertaisella takamerkillä ja kielen avainsanallaensimmäinen jaksokirjasta. TheKnitr R pakettitarjoaa mekanismin sisällyttämiseenelääkoodin sen sijaan dokumenttiin. Tämä tarkoittaa, että lukuun ottamatta koodia, mutta voi nähdä ja olla vuorovaikutuksessa tällaisen koodin tuloksia. Tämä on erittäin hyödyllistä tutkimusviestinnän ja toistettavuuden kannalta.

Tätä kirjan osaa varten meidän on asennettava muutama lisäpaketti. Kopioi ja liitä asennuspakettien koodi RStudio-konsoliisi

install.packages(c("dplyr","DT","ggplot2"))

3.1Johdanto

Jokaista koodilohkoa kutsutaan "koodipalaksi". Sinulla voi olla niin monta koodilohkoa kuin haluat. Koodipala on pohjimmiltaan se, mitä olemme jo käyttäneet, eli kolminkertaiset backticks koodiblobin molemmille puolille, mutta lisää nyt kiharat hakasulkeet ensimmäisen tripletin loppuun, esim.

``` {r}```

Etsi vihreä "lisää"-painike tekstieditorin ruudun yläosasta, jotta voit lisätä R-kappaleen. Vaihtoehtoisesti voit käyttää pikanäppäintäalt+vaihto+i

Jokainen osa on hyvin konfiguroitavissa kimpalevaihtoehtojen avulla käyttämällä avainarvopareja jälleen kerran. Ensimmäinen palavaihtoehto onmoottorieli mikä kieli sisältyy koodin osaan. Kyllä Rmarkdown pystyy käyttämään monia eri kieliä. Käytä vihreän "Lisää"-painikkeen pudotusnuolta tutustuaksesi joihinkin yleisimpiin kieliin.

HUOM:Moottorin nimi eli kielen nimi, aina ensin R-kappaleessa, yleensä avain "moottori" jätetään pois.

Sisällytetään ensimmäinen R-koodimme. Aiomme ladata kirjastoamagrittr, saadaksesi putkenoperaattorin (ei ole liian tärkeää ymmärtää putkioperaattoria tälle kurssille), niin kutsumme perusfunktiotaavaliable.packages()ja tallenna tulokset muuttujaanavail_packagesjaNeuloaasiakirjamme jälleen kerran. Huomaa, että lisään myös uuden osion otsikon.

#R-koodi``` {r}kirjasto (magrittr)avail_packages <- available.packages(contriburl = contrib.url("https://mirror.aarnet.edu.au/pub/CRAN/"))#head(avail_packages)avail_packages %>% head```

– Se on laskemista!

3.2Kappaleen nimi

On erittäin hyödyllistä nimetä koodipalat, sillä ne voivat palvella useita tarkoituksia, kuten ristiviittauksia ja virheenkorjausta. Nimet ovat valinnaisia, mutta jos lisäät ne, niiden on oltava toisessa paikassa.

Minkä tahansa palan yleinen asettelu on

``` {r chunk_name, options}```

Lisätään aget_datanimi koodikappaleeseemme. Aiomme myös sotkea tietojamme hieman saadaksemme tärkeimmät tiedot meille ja painaaNeuloa

``` {r get_data}kirjasto (magrittr)kirjasto (dplyr)avail_packages <- available.packages(contriburl = contrib.url("https://mirror.aarnet.edu.au/pub/CRAN/")) %>%as.data.frame() %>%as_tibble() %>%rivisuuntainen() %>%mutate(Depend = pituus(unlist(strsplit(Imports, split = ",")))) %>%ungroup() %>%valitse (paketti, versio, riippuvainen, tuonti, lisenssi)```

— Miltä näyttää?

3.3Osavaihtoehdot

Saat kattavan yleiskatsauksen koodipaloista, jotkaknitrviitatalopullinen opaskirjoittajaltaKnitrjaRmarkdownR-paketit.

Tässä on lyhyt luettelo yleisimmistä, joita yleensä käytän.

nimiarvotyyppikuvaus
lapsiTYHJÄcode_evaluationTiedostonimien merkkivektori. Knitr neuloa tiedostot ja sijoittaa ne pääasiakirjaan.
moottori"R"code_evaluationKnitr arvioi palan nimetyllä kielellä, esim.engine = 'python'. Suorita names(knitr::knit_engines$get()) nähdäksesi tuetut kielet.
evalTOTTAcode_evaluationJos EPÄTOSI, knitr ei suorita koodia koodikappaleessa.
sisältääTOTTAcode_evaluationJos EPÄTOSI, knitr suorittaa kappaleen, mutta ei sisällytä osaa lopulliseen asiakirjaan.
fig.align"oletus"juonetGrafiikan kohdistaminen lopullisessa asiakirjassa. Yksi seuraavista: "vasemmalla", "oikealla" tai "keskellä".
fig.capTYHJÄjuonetMerkkijono, jota käytetään kuvan otsikkona LaTexissä.
fig.korkeus7juonetKorkeus, jota käytetään R:nä palan luomille kaavioille (tuumina).
fig.width7juonetR-kirjaimella käytettävä leveys palan luomissa kaavioissa (tuumina).
kaikuTOTTAtuloksiaJos EPÄTOSI, knitr ei näytä koodia koodilohkossa sen tulosten yläpuolella lopullisessa asiakirjassa.
tuloksia"merkintä"tuloksiaJos "piilota", knitr ei näytä koodin tuloksia lopullisessa asiakirjassa. Jos ‘pidä’, neulo viivyttää kaikkien tulosteiden näyttämistä palan loppuun asti. Jos "asis", knitr kulkee tulosten läpi muotoilematta niitä uudelleen (hyödyllinen, jos tulokset palauttavat raaka-HTML-koodin jne.)
viestiTOTTAtuloksiaJos EPÄTOSI, knitr ei näytä mitään koodin luomia viestejä.
VaroitusTOTTAtuloksiaJos EPÄTOSI, knitr ei näytä koodin luomia varoitusviestejä.

– Niitä on aivan liikaa, onnea!

3.4Viesti- ja varoitusvaihtoehdot

On hienoa, että dokumentissamme on live-koodia, mutta tulokset näyttävät olevan täynnä ylimääräistä tekstiä. Nämä ovat "viestejä" paketin latauksesta, ja jotkut voivat olla lisävaroitus arvojen valumisesta eri tyyppiin. Se riippuu, mutta yleensä viestin tukahduttaminen auttaa todella asiakirjan ulkoasussa. Minulla on myös tapana vaimentaa varoitukset, mutta tämä voi aiheuttaa ongelmia downstread-analyysissä. Varmista, että ymmärrät varoitukset ennen niiden poistamista.

Lisätään pari vaihtoehtoa koodikappaleeseemme ja painaNeuloa

```{r get_data, message = EPÄTOSI, varoitus = EPÄTOSI}

– Paljon parempi, vai mitä?

3.5Enemmän koodipaloja ja tietojen riitelyä

Lisätään vielä pari palaa ja kiistellään tietojamme hieman enemmän.

On okei, jos et ymmärrä osaa R-koodista tässä esimerkissä. Näiden R-osien päätarkoitus on havainnollistaa, mitä voidaan tehdä

## Tietojen saaminen ja kiistaa``` {r get_data}make_url <- function(paketti) {paste0('', paketti, '')}kirjasto (magrittr)kirjasto (dplyr)avail_packages <- available.packages(contriburl = contrib.url("https://mirror.aarnet.edu.au/pub/CRAN/")) %>%as.data.frame() %>%as_tibble() %>%rivisuuntainen() %>%mutate(Depend = pituus(unlist(strsplit(Imports, split = ",")))) %>%ungroup() %>%valitse(paketti, versio, riippuvainen, tuonti, lisenssi) %>%mutate(Paketti = make_url(Paketti),Riippuu = ifelse(is.na(tuonnit), -1, Riippuu))```## Näytetään taulukko```{r make_table, message=FALSE, warning=FALSE}kirjasto (DT)avail_packages %>% datatable(escape = FALSE)```## Piirrä tiedot```{r juoni}kirjasto (ggplot2)avail_packages %>% ggplot(aes(Depend)) + geom_bar()```

— Hämmästyttävää!

3.6Istunnon tiedot

Otetaan mukaan istuntotiedot

istunnon tiedot()

3.7Asennuskappale

Vaikka on hienoa, että jokainen osa voidaan määrittää yksitellen, joskus "globaalin" osan määrittäminen voi auttaa tekemään asiakirjakappaleista helpommin hallittavia ja helpompia lukea.

Sisällytetään "asetus"-osa (osan nimi voi olla mikä tahansa) ja asetetaan joitakin asetuksia maailmanlaajuisesti koko asiakirjalle. Huomaa, että voimme myös siirtää kaikki kirjastomme tähän osaan. Tämä voi olla tai ei ole hyvä idea, jälleen kerran kaikki riippuu siitä, mitä sinun täytyy näyttää henkilölle, jota olet myös kommunikoimassa. Älä unohda painaaNeuloa

Ota huomioon, ettäsisältäävaihtoehto tässä asetettuVÄÄRÄmikä tarkoittaa, että osaa ei sisällytetä ollenkaan lopulliseen asiakirjaan, toisin kuineval = EPÄTOSIjossa pala on mukana, mutta sitä ei arvioida.

``` {r setup, include=FALSE}knitr::opts_chunk$set(echo = TOSI,viesti = EPÄTOSI,varoitus = EPÄTOSI)kirjasto (magrittr)kirjasto (dplyr)kirjasto (DT)kirjasto (ggplot2)```

— Entä se?

3.8Viimeinen ilme

Jos olet eksynyt, toisen osion pitäisi näyttää tältä

#R-koodi``` {r setup, include=FALSE}knitr::opts_chunk$set(echo = TOSI,viesti = EPÄTOSI,varoitus = EPÄTOSI)kirjasto (magrittr)kirjasto (dplyr)kirjasto (DT)kirjasto (ggplot2)```## Tietojen saaminen ja kiistaa``` {r get_data}make_url <- function(paketti) {paste0('', paketti, '')}kirjasto (magrittr)kirjasto (dplyr)avail_packages <- available.packages(contriburl = contrib.url("https://mirror.aarnet.edu.au/pub/CRAN/")) %>%as.data.frame() %>%as_tibble() %>%rivisuuntainen() %>%mutate(Depend = pituus(unlist(strsplit(Imports, split = ",")))) %>%ungroup() %>%valitse(paketti, versio, riippuvainen, tuonti, lisenssi) %>%mutate(Paketti = make_url(Paketti),Riippuu = ifelse(is.na(tuonnit), -1, Riippuu))```## Näytetään taulukko```{r make_table, message=FALSE, warning=FALSE}kirjasto (DT)avail_packages %>% datatable(escape = FALSE)```## Piirrä tiedot```{r juoni}kirjasto (ggplot2)avail_packages %>% ggplot(aes(Depend)) + geom_bar()```
Osa 3 Koodi lohkot | Toistettava tutkimus julkaisussa R (2024)
Top Articles
Latest Posts
Article information

Author: Ms. Lucile Johns

Last Updated:

Views: 5452

Rating: 4 / 5 (41 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Ms. Lucile Johns

Birthday: 1999-11-16

Address: Suite 237 56046 Walsh Coves, West Enid, VT 46557

Phone: +59115435987187

Job: Education Supervisor

Hobby: Genealogy, Stone skipping, Skydiving, Nordic skating, Couponing, Coloring, Gardening

Introduction: My name is Ms. Lucile Johns, I am a successful, friendly, friendly, homely, adventurous, handsome, delightful person who loves writing and wants to share my knowledge and understanding with you.