Bilmədiyiniz 10 Faydalı R Xüsusiyyəti

Bilmədiyiniz 10 Faydalı R Xüsusiyyəti

R müxtəlif funksiyalarla doludur. Aşağıda çoxlarının bilmədiyi ən maraqlılarından onunu verəcəyəm. Məqalə işimdə istifadə etdiyim R-nin bəzi xüsusiyyətləri haqqında hekayələrimin proqramçı yoldaşlar tərəfindən həvəslə qarşılandığını öyrəndikdən sonra ortaya çıxdı. Əgər siz artıq bu barədə hər şeyi bilirsinizsə, vaxtınızı itirdiyim üçün üzr istəyirəm. Eyni zamanda, paylaşacağınız bir şey varsa, şərhlərdə faydalı bir şey tövsiyə edin.

Skillbox tövsiyə edir: Praktik kurs "Python developer".

Xatırladırıq: "Habr" ın bütün oxucuları üçün - "Habr" promosyon kodundan istifadə edərək hər hansı bir Skillbox kursuna yazılarkən 10 000 rubl endirim.

keçid funksiyası

Mən, həqiqətən, çox sevirəm switch(). Əslində, başqa dəyişənin dəyərinə əsaslanan dəyər seçərkən if ifadəsi üçün əlverişli stenoqramdır. Mən bunu xüsusilə əvvəlki seçim əsasında müəyyən məlumat dəstini yükləməli olan kod yazarkən faydalı hesab edirəm. Məsələn, heyvan adlı dəyişəniniz varsa və heyvanın it, pişik və ya dovşan olmasından asılı olaraq xüsusi məlumat dəstini seçmək istəyirsinizsə, bunu yazın:

data < — read.csv(
keçid (heyvan,
"it" = "dogdata.csv",
"cat" = "catdata.csv",
"dovşan" = "dovşandata.csv")
)

Bu funksiya bir və ya bir neçə daxiletmə menyusundan asılı olaraq müxtəlif məlumat dəstlərini və ya mühit fayllarını yükləməli olduğunuz Parlaq proqramlarda faydalı olacaq.

RStudio üçün isti düymələr

Bu hack R üçün deyil, RStudio IDE üçün. Bununla belə, isti düymələr həmişə çox rahatdır, mətn daxil edərkən vaxtınıza qənaət etməyə imkan verir. Sevimlilərim %>% operatoru üçün Ctrl+Shift+M və <- operatoru üçün Alt+-dir.

Bütün isti düymələrə baxmaq üçün RStudio-da Alt+Shift+K düymələrini sıxmaq kifayətdir.

flexdashboard paketi

Shiny panelinizi tez bir zamanda işə salmaq lazım olduqda, tablo paketindən yaxşı heç nə yoxdur. O, HTML qısa yolları ilə işləmək imkanı verir ki, bu da öz növbəsində kənar panellər, sətirlər və sütunlar yaratmağı asan və əngəlsiz edir. Başlıq çubuğundan istifadə etmək imkanı da var ki, bu da onu tətbiqin müxtəlif səhifələrində yerləşdirməyə, nişanlar, Github-da qısa yollar, e-poçt ünvanları və daha çox şey buraxmağa imkan verir.

Paket Rmarkdown çərçivəsində işləməyə imkan verir ki, siz bütün proqramları bir Rmd faylına yerləşdirə və onları müxtəlif serverlər və UI faylları arasında yaymayasınız, məsələn, shinydashboard istifadə edərək. Mürəkkəb bir şey üzərində işləməzdən əvvəl sadə tablosunun prototipini yaratmalı olduğum zaman flexdashboard-dan istifadə edirəm. Bu funksiya bir saat ərzində prototip yaratmağa imkan verir.

tələb edin və R Shiny-də funksiyaları yoxlayın

R Shiny-də inkişaf çaşdırıcı ola bilər, xüsusən də nə baş verdiyini başa düşməyi çətinləşdirən qəribə səhv mesajları almağa davam etdiyiniz zaman. Lakin zaman keçdikcə Shiny inkişaf edir və təkmilləşir, burada səhvin səbəbini anlamağa imkan verən daha çox funksiya görünür. Beləliklə, req() ümumiyyətlə nə baş verdiyi aydın olmayanda problemi “səssiz” xəta ilə həll edir. Bu, əvvəlki hərəkətlərlə əlaqəli UI elementlərini göstərməyə imkan verir. Bir misalla izah edək:

output$go_button < — parlaq::renderUI({

# yalnız heyvan girişi seçildikdə ekran düyməsi

parlaq::req(input$heyvan)

# ekran düyməsi

parlaq::actionButton("get",
yapışdırın("Davranış", input$animal, "analiz!")
)
})

validate() göstərməzdən əvvəl hər şeyi yoxlayır və səhv mesajını çap etmək seçimini verir - məsələn, istifadəçi səhv faylı yükləyib:

# csv giriş faylını əldə edin

inFile < — input$file1
data < — inFile$datapath

# cədvəli yalnız itlər olduqda göstərin

parlaq::renderTable({
# bunun pişik və ya dovşan deyil, it faylı olduğunu yoxlayın
parlaq::təsdiq et(
ehtiyac("İt Adı" %in% colnames(data)),
"İt Adı sütunu tapılmadı - düzgün faylı yüklədinizmi?"
)

məlumat
})

Bütün bu xüsusiyyətlər haqqında daha çox məlumat burada tapa bilərsiniz.

Etibarnamələrinizi sistem mühitində özünüz üçün saxlamaq

Sizdən etimadnamələri daxil etməyi tələb edən kodu paylaşmağı planlaşdırırsınızsa, öz etimadnamələrinizi Github və ya başqa xidmətdə yerləşdirməmək üçün sistem mühitindən istifadə edin. Nümunə yerləşdirmə:

Sys.setenv(
DSN = "verilənlər bazası_adı",
UID = "İstifadəçi ID",
PASS = "Şifrə"
)

İndi mühit dəyişənlərindən istifadə edərək daxil ola bilərsiniz:

db < — DBI::dbConnect(
drv = odbc :: odbc (),
dsn = Sys.getenv("DSN"),
uid = Sys.getenv("UID"),
pwd = Sys.getenv("KEÇİL")
)

Onları birbaşa əməliyyat sistemində mühit dəyişənləri kimi təyin etmək (xüsusilə də məlumatları tez-tez istifadə edirsinizsə) daha rahatdır. Bu halda, onlar həmişə mövcud olacaq və onları kodda qeyd etməli olmayacaqsınız.

Styler ilə səliqəni avtomatlaşdırın

Styler paketi kodunuzu təmizləməyə kömək edə bilər; onun kod üslubunu avtomatik səliqəyə salmaq üçün bir çox variantları var. Sizə lazım olan tək şey problemli skriptinizdə styler::style_file() işlətməkdir. Paket nizamı bərpa etmək üçün çox şey edəcək (lakin hər şeyi deyil).

R Markdown sənədlərinin parametrləşdirilməsi

Beləliklə, siz itlər haqqında müxtəlif faktları təhlil etdiyiniz əla R Markdown sənədi yaratdınız. Sonra ağlınıza gəlir ki, eyni işi ancaq pişiklərlə etmək daha yaxşı olardı. Problem yoxdur, yalnız bir əmrlə pişik hesabatlarının yaradılmasını avtomatlaşdıra bilərsiniz. Bunu etmək üçün yalnız R işarələmə sənədinizi parametrləşdirməlisiniz.

Bunu müəyyən edilmiş sənəddə YAML başlığı üçün parametrlər təyin etməklə və sonra dəyər parametrlərini təyin etməklə edə bilərsiniz.

- başlıq: "Heyvanların təhlili"
müəllif: "Keyt MakNulti"
tarix: "21 mart 2019"
çıxış:
html_sənəd:
code_folding: "gizlət"
parametrlər:
heyvan_adı:
dəyər: it
seçimlər:
-İt
-Pişik
- Dovşan
təhsil_illəri:
giriş: sürüşdürmə
dəq: 2000
maksimum: 2019
addım 1
dəyirmi: 1
sentyabr: "
dəyər: [2010, 2017] -

İndi siz sənəd kodunda bütün dəyişənləri params$animal_name və params$years_of_study kimi qeyd edə bilərsiniz. Sonra "Knit" açılan menyusundan (və ya knit_with_parameters()) istifadə edəcəyik və parametrləri seçə biləcəyik.

Bilmədiyiniz 10 Faydalı R Xüsusiyyəti

aşkarjs

discoverjs daxili R kodu, intuitiv naviqasiya və slayd menyuları ilə əla HTML təqdimatları yaratmağa imkan verən paketdir. HTML qısa yolları müxtəlif üslub seçimləri ilə tez bir zamanda iç-içə slayd strukturu yaratmağa imkan verir. Yaxşı, HTML istənilən cihazda işləyəcək, ona görə də təqdimat hər telefon, planşet və ya noutbukda açıla bilər. Məlumatın açıqlanması paketi quraşdırmaq və onu YAML başlığında çağırmaqla konfiqurasiya edilə bilər. Budur bir nümunə:

- başlıq: "İnsanların Analitika Kainatının Kənarını Eksport etmək"
müəllif: "Keyt MakNulti"
çıxış:
aşkarjs::revealjs_presentation:
mərkəz: bəli
şablon:starwars.html
mövzu: qara
tarix: “HR Analytics Meetup London – 18 Mart, 2019”
resurs_faylları:
— darth.png
- deathstar.png
- hanchewy.png
- millenium.png
- r2d2-threepio.png
-starwars.html
—starwars.png
—stormtrooper.png
-

Təqdimat mənbə kodu burada yerləşdirilib, və özürpubs.com/keithmcnulty/hr_meetup_london'>təqdimat - burada.

Bilmədiyiniz 10 Faydalı R Xüsusiyyəti

R Shiny-də HTML Teqləri

Əksər proqramçılar R Shiny-də olan HTML teqlərindən tam istifadə etmirlər. Lakin bunlar HTML funksiyası və ya medianın səsləndirilməsi üçün qısa zəng yaratmağa imkan verən cəmi 110 teqdir. Məsələn, mən bu yaxınlarda tapşırığın tamamlandığı zaman istifadəçini xəbərdar edən "qələbə" səsini səsləndirmək üçün tags$audio-dan istifadə etdim.

Paket tərifi

Bu paketdən istifadə çox sadədir, lakin istifadəçiyə tərif göstərmək üçün lazımdır. Qəribə görünür, amma əslində xoşuna gəlir.

Bilmədiyiniz 10 Faydalı R Xüsusiyyəti

Skillbox tövsiyə edir:

Mənbə: www.habr.com

Добавить комментарий