Vipengele 10 Muhimu vya R ambavyo Huenda Hujui Kuvihusu

Vipengele 10 Muhimu vya R ambavyo Huenda Hujui Kuvihusu

R imejaa aina mbalimbali za utendaji. Hapo chini nitatoa kumi kati yao ya kuvutia zaidi, ambayo wengi hawawezi kujua. Nakala hiyo ilionekana baada ya kugundua kwamba hadithi zangu kuhusu baadhi ya vipengele vya R ninavyotumia katika kazi yangu zilipokelewa kwa shauku na watayarishaji programu wenzangu. Ikiwa tayari unajua kila kitu kuhusu hili, basi ninaomba msamaha kwa kupoteza muda wako. Wakati huo huo, ikiwa una kitu cha kushiriki, pendekeza kitu muhimu katika maoni.

Skillbox inapendekeza: Kozi ya vitendo "Mtengenezaji wa chatu".

Tunakukumbusha: kwa wasomaji wote wa "Habr" - punguzo la rubles 10 wakati wa kujiandikisha katika kozi yoyote ya Skillbox kwa kutumia msimbo wa uendelezaji wa "Habr".

kubadili kazi

Napenda sana switch(). Kwa kweli, ni mkato unaofaa kwa taarifa ya if wakati wa kuchagua thamani kulingana na thamani ya kigezo kingine. Ninaona hii kuwa muhimu sana ninapoandika nambari inayohitaji kupakia seti maalum ya data kulingana na uteuzi uliopita. Kwa mfano, ikiwa una mnyama tofauti anayeitwa na unataka kuchagua seti maalum ya data kulingana na kama mnyama ni mbwa, paka, au sungura, andika hivi:

data <- read.csv(
kubadili (mnyama,
"mbwa" = "dogdata.csv",
"paka" = "catdata.csv",
"sungura" = "rabbitdata.csv")
)

Kipengele hiki kitakuwa muhimu katika programu za Shiny ambapo unahitaji kupakia seti tofauti za data au faili za mazingira kulingana na kipengee kimoja au zaidi cha menyu ya ingizo.

Vifunguo vya moto kwa RStudio

Udukuzi huu sio sana kwa R, lakini kwa RStudio IDE. Hata hivyo, hotkeys daima ni rahisi sana, kuruhusu kuokoa muda wakati wa kuingiza maandishi. Vipendwa vyangu ni Ctrl+Shift+M kwa opereta %>% na Alt+- kwa <- opereta.

Ili kutazama vitufe vyote vya moto, bonyeza tu Alt+Shift+K katika RStudio.

kifurushi cha flexdashboard

Unapohitaji kuzindua kwa haraka dashibodi yako ya Shiny, hakuna kitu bora zaidi kuliko kifurushi cha dashibodi. Inatoa uwezo wa kufanya kazi na njia za mkato za HTML, ambazo kwa upande wake hurahisisha na bila shida kuunda pau za kando, safu na safu. Pia kuna uwezo wa kutumia bar ya kichwa, ambayo inakuwezesha kuiweka kwenye kurasa tofauti za programu, kuacha icons, njia za mkato kwenye Github, anwani za barua pepe na mengi zaidi.

Kifurushi hukuruhusu kufanya kazi ndani ya mfumo wa Rmarkdown, kwa hivyo unaweza kuweka programu zote kwenye faili moja ya Rmd, na sio kuzisambaza kwenye seva tofauti na faili za UI, kama inavyofanywa, kwa mfano, kwa kutumia shinydashboard. Ninatumia dashibodi kila ninapohitaji kuunda mfano rahisi wa dashibodi kabla ya kufanyia kazi kitu changamano. Kipengele hiki hukuruhusu kuunda mfano ndani ya saa moja.

req na uthibitishe vitendaji katika R Shiny

Kuendeleza katika R Shiny kunaweza kutatanisha, hasa unapoendelea kupata ujumbe wa hitilafu wa ajabu ambao hufanya iwe vigumu kuelewa kinachoendelea. Lakini baada ya muda, Shiny inakua na inaboresha, kazi zaidi na zaidi zinaonekana hapa zinazokuwezesha kuelewa sababu ya kosa. Kwa hivyo, req() hutatua tatizo kwa kosa la "kimya", wakati kwa ujumla haijulikani ni nini kinaendelea. Inakuruhusu kuonyesha vipengele vya UI vinavyohusishwa na vitendo vya awali. Hebu tueleze kwa mfano:

output$go_button <- shiny::renderUI({

Kitufe # cha kuonyesha tu ikiwa ingizo la mnyama limechaguliwa

kung'aa::req(pembejeo$mnyama)

Kitufe # cha kuonyesha

shiny::actionButton("nenda",
paste("Maadili", input$animal, "analysis!")
)
})

validate() huangalia kila kitu kabla ya kutoa na kukupa chaguo la kuchapisha ujumbe wa makosa - kwa mfano, kwamba mtumiaji alipakia faili isiyofaa:

# pata faili ya kuingiza ya csv

inFile < β€” input$file1
data < β€” inFile$datapath

# render jedwali ikiwa tu ni mbwa

shiny::renderTable({
# angalia kuwa ni faili la mbwa, sio paka au sungura
kung'aa::thibitisha (
haja("Jina la Mbwa" %in% colnames(data)),
"Safu wima ya Jina la Mbwa haijapatikana - ulipakia faili sahihi?"
)

data
})

Maelezo zaidi kuhusu vipengele hivi vyote inaweza kupatikana hapa.

Kuhifadhi kitambulisho chako mwenyewe katika mazingira ya mfumo

Ikiwa unapanga kushiriki nambari ya kuthibitisha inayokuhitaji uweke kitambulisho, tumia mazingira ya mfumo ili kuepuka kupangisha kitambulisho chako kwenye Github au huduma nyingine. Mfano wa uwekaji:

Sys.setenv(
DSN = "database_name",
UID = "Kitambulisho cha Mtumiaji",
PASS = "Nenosiri"
)

Sasa unaweza kuingia kwa kutumia anuwai za mazingira:

db <- DBI::dbConnect(
drv = odbc::odbc(),
dsn = Sys.getenv("DSN"),
uid = Sys.getenv("UID"),
pwd = Sys.getenv("PASS")
)

Ni rahisi zaidi (haswa ikiwa unatumia data mara kwa mara) ili kuziweka kama vigezo vya mazingira moja kwa moja kwenye mfumo wa uendeshaji. Katika kesi hii, zitapatikana kila wakati na hutalazimika kuzitaja katika msimbo.

Otomatiki nadhifu na styler

Kifurushi cha styler kinaweza kukusaidia kusafisha msimbo wako; kina chaguo nyingi za kuleta mtindo wa msimbo kiotomatiki kuwa nadhifu. Unachohitaji kufanya ni kuendesha styler::style_file() kwenye hati yako yenye matatizo. Mfuko utafanya mengi (lakini si kila kitu) kurejesha utaratibu.

Parameterizing R Markdown Nyaraka

Kwa hivyo umeunda hati nzuri ya R Markdown ambayo unachambua ukweli mbalimbali kuhusu mbwa. Na kisha hutokea kwako kwamba itakuwa bora kufanya kazi sawa, lakini tu na paka. Hakuna shida, unaweza kuhariri uundaji wa ripoti za paka kwa amri moja tu. Ili kufanya hivyo, unahitaji tu kuweka alama kwenye hati yako ya R.

Unaweza kufanya hivyo kwa kuweka vigezo vya kichwa cha YAML katika hati maalum, na kisha kuweka vigezo vya thamani.

- kichwa: "Uchambuzi wa Wanyama"
mwandishi: "Keith McNulty"
tarehe: "21 Machi 2019"
pato:
html_document:
code_folding: "ficha"
vigezo:
jina_la_mnyama:
thamani: mbwa
chaguzi:
-Mbwa
- Paka
- Sungura
miaka_ya_masomo:
pembejeo: kitelezi
dakika: 2000
Upeo wa juu: 2019
hatua: 1
pande zote: 1
sep: "
thamani: [2010, 2017] -

Sasa unaweza kusajili vigeu vyote katika msimbo wa hati kama params$animal_name na params$years_of_study. Kisha tutatumia menyu kunjuzi ya Kuunganishwa (au knit_with_parameters()) na kuweza kuchagua vigezo.

Vipengele 10 Muhimu vya R ambavyo Huenda Hujui Kuvihusu

inaonyeshajs

revealjs ni kifurushi kinachokuruhusu kuunda mawasilisho mazuri ya HTML na msimbo wa R uliojengewa ndani, urambazaji angavu na menyu za slaidi. Njia za mkato za HTML hukuruhusu kuunda haraka muundo wa slaidi uliowekwa kiota na chaguo tofauti za mitindo. Naam, HTML itaendeshwa kwenye kifaa chochote, kwa hivyo wasilisho linaweza kufunguliwa kwenye kila simu, kompyuta kibao au kompyuta ndogo. Ufumbuzi wa habari unaweza kusanidiwa kwa kusakinisha kifurushi na kukiita katika kichwa cha YAML. Hapa kuna mfano:

- kichwa: "Kuonyesha Ukingo wa Ulimwengu wa Uchanganuzi wa Watu"
mwandishi: "Keith McNulty"
pato:
revealjs::revealjs_presentation:
kituo: ndiyo
template:starwars.html
mandhari: nyeusi
tarehe: "Mkutano wa HR Analytics London - 18 Machi, 2019"
rasilimali_faili:
- darth.png
- deathstar.png
- hanchewy.png
- milenia.png
- r2d2-threepio.png
-starwars.html
-starwars.png
-stormtrooper.png
-

Msimbo wa chanzo cha wasilisho imechapishwa hapa, na yeye mwenyewerpubs.com/keithmcnulty/hr_meetup_london'> uwasilishaji - hapa.

Vipengele 10 Muhimu vya R ambavyo Huenda Hujui Kuvihusu

Lebo za HTML katika R Shiny

Watayarishaji programu wengi hawachukui faida kamili ya lebo za HTML ambazo R Shiny inayo. Lakini hizi ni vitambulisho 110 tu, vinavyowezesha kuunda simu fupi kwa kazi ya HTML au uchezaji wa vyombo vya habari. Kwa mfano, hivi majuzi nilitumia tags$audio kucheza sauti ya "ushindi" ambayo ilimtahadharisha mtumiaji kazi ilipokamilika.

Kifurushi cha sifa

Kutumia kifurushi hiki ni rahisi sana, lakini inahitajika kuonyesha sifa kwa mtumiaji. Inaonekana ajabu, lakini kwa kweli wanaipenda.

Vipengele 10 Muhimu vya R ambavyo Huenda Hujui Kuvihusu

Skillbox inapendekeza:

Chanzo: mapenzi.com

Kuongeza maoni