10 noderīgas R funkcijas, par kurām jūs, iespējams, nezināt

10 noderīgas R funkcijas, par kurām jūs, iespējams, nezināt

R ir pilns ar dažādām funkcijām. Zemāk es sniegÅ”u desmit interesantākos no tiem, par kuriem daudzi varētu nezināt. Raksts parādÄ«jās pēc tam, kad es atklāju, ka citi programmētāji ar entuziasmu uzņēma manus stāstus par dažām R funkcijām, kuras izmantoju savā darbā. Ja jÅ«s jau zināt visu par Å”o, tad es atvainojos par jÅ«su laika tērÄ“Å”anu. Tajā paŔā laikā, ja ir ar ko padalÄ«ties, iesaki komentāros ko noderÄ«gu.

Skillbox iesaka: Praktiskais kurss "Python izstrādātājs".

Atgādinām: visiem "Habr" lasītājiem - atlaide 10 000 rubļu, reģistrējoties jebkurā Skillbox kursā, izmantojot "Habr" reklāmas kodu.

slēdža funkcija

Man ļoti, ļoti patÄ«k switch (). Faktiski tas ir ērts priekÅ”raksta if saÄ«sinājums, izvēloties vērtÄ«bu, pamatojoties uz cita mainÄ«gā vērtÄ«bu. Man tas Ŕķiet Ä«paÅ”i noderÄ«gi, rakstot kodu, kuram ir jāielādē noteikta datu kopa, pamatojoties uz iepriekŔējo atlasi. Piemēram, ja jums ir mainÄ«gais ar nosaukumu dzÄ«vnieks un vēlaties atlasÄ«t konkrētu datu kopu atkarÄ«bā no tā, vai dzÄ«vnieks ir suns, kaÄ·is vai trusis, ierakstiet Å”o:

dati < ā€” read.csv(
slēdzis (dzīvnieks,
"suns" = "dogdata.csv",
"cat" = "catdata.csv",
"rabbit" = "rabbitdata.csv")
)

Šī funkcija noderēs lietojumprogrammās Shiny, kur jāielādē dažādas datu kopas vai vides faili atkarībā no viena vai vairākiem ievades izvēlnes vienumiem.

RStudio karstie taustiņi

Šis uzlauzums ir paredzēts ne tik daudz R, bet gan RStudio IDE. Tomēr karstie taustiņi vienmēr ir ļoti ērti, kas ļauj ietaupīt laiku, ievadot tekstu. Mani iecienītākie ir Ctrl+Shift+M operatoram %>% un Alt+- operatoram <-.

Lai skatÄ«tu visus karstos taustiņus, programmā RStudio vienkārÅ”i nospiediet Alt+Shift+K.

flexdashboard pakotne

Kad nepiecieÅ”ams ātri palaist savu Shiny informācijas paneli, nekas nav labāks par informācijas paneļa pakotni. Tas nodroÅ”ina iespēju strādāt ar HTML Ä«sceļiem, kas savukārt atvieglo sānjoslu, rindu un kolonnu izveidi. Ir arÄ« iespēja izmantot virsraksta joslu, kas ļauj to ievietot dažādās lietojumprogrammas lapās, atstāt ikonas, saÄ«snes vietnē Github, e-pasta adreses un daudz ko citu.

Pakete ļauj strādāt Rmarkdown ietvaros, lai jÅ«s varētu ievietot visas lietojumprogrammas vienā Rmd failā, nevis izplatÄ«t tās dažādos serveros un UI failos, kā tas tiek darÄ«ts, piemēram, izmantojot shinydashboard. Es izmantoju flexdashboard ikreiz, kad man ir jāizveido vienkārÅ”s informācijas paneļa prototips, pirms strādāju pie kaut kā sarežģīta. Å Ä« funkcija ļauj stundas laikā izveidot prototipu.

pieprasīt un apstiprināt funkcijas programmā R Shiny

R Shiny izstrāde var bÅ«t mulsinoÅ”a, it Ä«paÅ”i, ja nepārtraukti saņemat dÄ«vainus kļūdu ziņojumus, kas apgrÅ«tina notiekoŔā izpratni. Bet laika gaitā Shiny attÄ«stās un uzlabojas, Å”eit parādās arvien vairāk funkciju, kas ļauj saprast kļūdas cēloni. Tātad, req () atrisina problēmu ar "klusu" kļūdu, kad parasti nav skaidrs, kas notiek. Tas ļauj parādÄ«t lietotāja interfeisa elementus, kas saistÄ«ti ar iepriekŔējām darbÄ«bām. Paskaidrosim ar piemēru:

output$go_button < ā€” shiny::renderUI({

# tikai displeja poga, ja ir izvēlēta dzīvnieku ievade

spīdīgs::req(input$animal)

# displeja poga

shiny::actionButton("go",
paste ("Rīcība", ievade$dzīvnieks, "analīze!")
)
})

validate() pārbauda visu pirms renderÄ“Å”anas un dod iespēju izdrukāt kļūdas ziņojumu, piemēram, ka lietotājs augÅ”upielādēja nepareizu failu:

# iegūstiet csv ievades failu

inFile < ā€” ievade$fails1
dati < ā€” inFile$datapath

# renderēt tabulu tikai tad, ja tā ir suņi

spīdīgs::renderTable({
# pārbaudiet, vai tas ir suņa fails, nevis kaÄ·i vai truÅ”i
spīdīgs::validate(
need("Suņa vārds" %in% colnames(data)),
ā€œSleja Suņa vārda nav atrasta ā€” vai ielādējāt pareizo failu?ā€
)

dati
})

PlaŔāka informācija par visām Ŕīm funkcijām var atrast Ŕeit.

Saglabājiet savus akreditācijas datus sistēmas vidē

Ja plānojat koplietot kodu, kurā jāievada akreditācijas dati, izmantojiet sistēmas vidi, lai izvairÄ«tos no savu akreditācijas datu mitināŔanas vietnē Github vai citā pakalpojumā. Izvietojuma piemērs:

Sys.setenv(
DSN = "datu bāzes_nosaukums",
UID = "Lietotāja ID",
PASS = "Parole"
)

Tagad varat pieteikties, izmantojot vides mainīgos:

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

Vēl ērtāk (Ä«paÅ”i, ja datus izmantojat bieži) ir iestatÄ«t tos kā vides mainÄ«gos tieÅ”i operētājsistēmā. Å ajā gadÄ«jumā tie vienmēr bÅ«s pieejami, un jums tie nebÅ«s jānorāda kodā.

Automatizējiet tidyverse ar ieveidotāju

Veidotāja pakotne var palīdzēt jums iztīrīt kodu; tai ir daudz iespēju, lai automātiski iekļautu koda stilu tidyverse. Viss, kas jums jādara, ir palaist styler::style_file() savā problemātiskajā skriptā. Pakete darīs daudz (bet ne visu), lai atjaunotu kārtību.

R atzīmes dokumentu parametrizēŔana

Tātad jÅ«s esat izveidojis lielisku R Markdown dokumentu, kurā analizējat dažādus faktus par suņiem. Un tad tev ienāk prātā, ka labāk bÅ«tu darÄ«t to paÅ”u darbu, bet tikai ar kaÄ·iem. Nav problēmu, jÅ«s varat automatizēt kaÄ·u pārskatu izveidi tikai ar vienu komandu. Lai to izdarÄ«tu, jums tikai jāparametizē R atzÄ«mes dokuments.

To var izdarīt, iestatot YAML galvenes parametrus norādītajā dokumentā un pēc tam iestatot vērtību parametrus.

ā€” nosaukums: ā€œDzÄ«vnieku analÄ«zeā€
autors: "Keith McNulty"
datums: "21"
izeja:
html_document:
code_folding: "slēpt"
parametri:
dzīvnieka_nosaukums:
vērtība: suns
izvēles:
ā€” Suns
ā€” kaÄ·is
ā€” TrusÄ«tis
years_of_study:
ievade: slīdnis
min: 2000
maks.: 2019
solis: 1
kārta: 1
septembris: "
vērtÄ«ba: [2010, 2017] ā€”

Tagad jÅ«s varat reÄ£istrēt visus mainÄ«gos lielumus dokumenta kodā kā params$dzÄ«vnieka_nosaukums un params$years_of_study. Pēc tam izmantosim nolaižamo izvēlni AdÄ«Å”ana (vai adÄ«t_ar_parametriem()) un varēsim atlasÄ«t parametrus.

10 noderīgas R funkcijas, par kurām jūs, iespējams, nezināt

atklātjs

discoverjs ir pakotne, kas ļauj izveidot lieliskas HTML prezentācijas ar iebÅ«vētu R kodu, intuitÄ«vu navigāciju un slaidu izvēlnēm. HTML Ä«sceļi ļauj ātri izveidot ligzdotu slaidu struktÅ«ru ar dažādām stila opcijām. HTML darbosies jebkurā ierÄ«cē, tāpēc prezentāciju var atvērt katrā tālrunÄ«, planÅ”etdatorā vai klēpjdatorā. Informācijas atklāŔanu var konfigurēt, instalējot pakotni un izsaucot to YAML galvenē. Å eit ir piemērs:

ā€” virsraksts: ā€œCilvēku analÄ«zes visuma malu izpēteā€
autors: "Keith McNulty"
izeja:
discoverjs::revealjs_presentation:
centrs: jā
veidne: starwars.html
tēma: melns
datums: ā€œHR Analytics Meetup London ā€“ 18. gada 2019. martsā€
resursu_faili:
ā€” darth.png
- deathstar.png
- hanchewy.png
- Millenium.png
- r2d2-threepio.png
-starwars.html
-starwars.png
ā€” stormtrooper.png
Sākot no

Prezentācijas pirmkods ievietots Å”eit, un viņa patirpubs.com/keithmcnulty/hr_meetup_london'> prezentācija - Å”eit.

10 noderīgas R funkcijas, par kurām jūs, iespējams, nezināt

HTML tagi programmā R Shiny

Lielākā daļa programmētāju pilnÄ«bā neizmanto R Shiny piedāvātos HTML tagus. Bet tie ir tikai 110 tagi, kas ļauj izveidot Ä«su izsaukumu HTML funkcijai vai multivides atskaņoÅ”anai. Piemēram, es nesen izmantoju tags$audio, lai atskaņotu "uzvaras" skaņu, kas brÄ«dināja lietotāju, kad uzdevums ir pabeigts.

Uzslavas pakete

Å Ä«s pakotnes izmantoÅ”ana ir ļoti vienkārÅ”a, taču tā ir nepiecieÅ”ama, lai parādÄ«tu lietotājam uzslavu. Å Ä·iet dÄ«vaini, bet patiesÄ«bā viņiem tas patÄ«k.

10 noderīgas R funkcijas, par kurām jūs, iespējams, nezināt

Skillbox iesaka:

Avots: www.habr.com

Pievieno komentāru