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.
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:
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?"
)
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ə:
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.
İ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.
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ə:
Ə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.