R turli funktsiyalarga to'la. Quyida men ulardan eng qiziqarli o'ntasini beraman, ular haqida ko'pchilik bilmagan bo'lishi mumkin. Maqola men ishimda foydalanadigan R-ning ba'zi xususiyatlari haqidagi hikoyalarimni dasturchilar hamkasblarim tomonidan hayajon bilan qabul qilishini bilganimdan keyin paydo bo'ldi. Agar siz bu haqda hamma narsani bilsangiz, vaqtingizni behuda sarflaganim uchun uzr so'rayman. Shu bilan birga, baham ko'rmoqchi bo'lgan narsangiz bo'lsa, sharhlarda foydali narsalarni tavsiya eting.
Sizga eslatib o'tamiz:"Habr" ning barcha o'quvchilari uchun - "Habr" promo-kodidan foydalangan holda har qanday Skillbox kursiga yozilishda 10 000 rubl chegirma.
almashtirish funktsiyasi
Menga switch() juda yoqadi. Aslida, bu boshqa o'zgaruvchining qiymatiga qarab qiymat tanlashda if iborasi uchun qulay stenografiya. Avvalgi tanlov asosida ma'lum ma'lumotlar to'plamini yuklashi kerak bo'lgan kod yozayotganimda buni ayniqsa foydali deb bilaman. Misol uchun, agar sizda hayvon deb nomlangan o'zgaruvchi bo'lsa va siz hayvon it, mushuk yoki quyon ekanligiga qarab ma'lum ma'lumotlar to'plamini tanlamoqchi bo'lsangiz, quyidagilarni yozing:
Bu xususiyat bir yoki bir nechta kirish menyusi bandiga qarab turli maʼlumotlar toʻplamlari yoki muhit fayllarini yuklashingiz kerak boʻlgan Shiny ilovalarida foydali boʻladi.
RStudio uchun tezkor tugmalar
Bu buzish R uchun emas, balki RStudio IDE uchun. Biroq, tezkor tugmalar har doim juda qulay bo'lib, matn kiritishda vaqtni tejash imkonini beradi. Mening sevimlilarim: %>% operatori uchun Ctrl+Shift+M va <- operatori uchun Alt+-.
Barcha tezkor tugmalarni ko'rish uchun RStudio-da Alt+Shift+K tugmalarini bosing.
flexdashboard to'plami
Shiny asboblar panelini tezda ishga tushirishingiz kerak bo'lganda, asboblar paneli to'plamidan yaxshiroq narsa yo'q. U HTML yorliqlari bilan ishlash imkoniyatini beradi, bu esa o'z navbatida yon panellar, qatorlar va ustunlar yaratishni oson va muammosiz qiladi. Shuningdek, sarlavha satridan foydalanish imkoniyati mavjud bo'lib, uni ilovaning turli sahifalarida joylashtirish, piktogrammalarni, Github-da yorliqlarni, elektron pochta manzillarini va boshqalarni qoldirish imkonini beradi.
Paket sizga Rmarkdown doirasida ishlashga imkon beradi, shuning uchun siz barcha ilovalarni bitta Rmd fayliga joylashtirishingiz va ularni turli serverlar va UI fayllari bo'ylab tarqatmasligingiz mumkin, masalan, shinydashboard yordamida. Murakkab narsa ustida ishlashdan oldin oddiy asboblar paneli prototipini yaratish kerak bo'lganda men flexdashboarddan foydalanaman. Bu xususiyat bir soat ichida prototip yaratish imkonini beradi.
req va R Shiny-da funktsiyalarni tasdiqlang
R Shiny-da ishlab chiqish chalkash bo'lishi mumkin, ayniqsa nima bo'layotganini tushunishni qiyinlashtiradigan g'alati xato xabarlarini olayotganingizda. Ammo vaqt o'tishi bilan Shiny rivojlanadi va yaxshilanadi, bu erda xatoning sababini tushunishga imkon beradigan ko'proq funktsiyalar paydo bo'ladi. Shunday qilib, req() nima bo'layotgani umuman tushunarsiz bo'lsa, muammoni "jim" xato bilan hal qiladi. Bu oldingi harakatlar bilan bog'liq UI elementlarini ko'rsatishga imkon beradi. Keling, misol bilan tushuntiramiz:
output$go_button < — porloq::renderUI({
# agar hayvon kiritilishi tanlangan bo'lsa, faqat ekran tugmasi
porloq::req(input$hayvon)
# displey tugmasi
porloq :: actionButton("otish",
joylashtirish ("O'tkazish", input$hayvon, "tahlil!")
)
})
validate() ko'rsatishdan oldin hamma narsani tekshiradi va xato xabarini chop etish imkoniyatini beradi - masalan, foydalanuvchi noto'g'ri faylni yuklagan:
# csv kiritish faylini oling
inFile < — input$file1
ma'lumotlar < — InFile$datapath
# jadvalni faqat itlar bo'lsa render
porloq::renderTable({
# bu mushuk yoki quyon emas, balki it fayli ekanligini tekshiring
porloq::validate(
need("It nomi" %da colnames(ma'lumotlar)),
"It nomi ustuni topilmadi - to'g'ri faylni yukladingizmi?"
)
Hisob ma'lumotlarini tizim muhitida o'zingiz uchun saqlash
Agar siz hisob ma'lumotlarini kiritishingizni talab qiladigan kodni almashishni rejalashtirmoqchi bo'lsangiz, o'z hisob ma'lumotlaringizni Github yoki boshqa xizmatda joylashtirishdan qochish uchun tizim muhitidan foydalaning. Misol joylashtirish:
Ularni to'g'ridan-to'g'ri operatsion tizimda muhit o'zgaruvchilari sifatida o'rnatish yanada qulayroq (ayniqsa, ma'lumotlardan tez-tez foydalansangiz). Bunday holda, ular har doim mavjud bo'ladi va siz ularni kodda ko'rsatishingiz shart emas.
Styler yordamida tartibni avtomatlashtiring
Styler to'plami kodingizni tozalashga yordam beradi; unda kod uslubini avtomatik tarzda tartibli ko'rinishga keltirish uchun ko'plab imkoniyatlar mavjud. Muammoli skriptingizda styler::style_file() ni ishga tushirish kifoya. Paket tartibni tiklash uchun juda ko'p (lekin hamma narsani emas) qiladi.
R Markdown hujjatlarini parametrlash
Shunday qilib, siz ajoyib R Markdown hujjatini yaratdingiz, unda siz itlar haqidagi turli faktlarni tahlil qilasiz. Va keyin sizga xuddi shunday ishni qilish yaxshiroq bo'lardi, lekin faqat mushuklar bilan. Muammo yo'q, siz faqat bitta buyruq bilan mushuk hisobotlarini yaratishni avtomatlashtirishingiz mumkin. Buni amalga oshirish uchun siz faqat R markdown hujjatingizni parametrlashtirishingiz kerak.
Buni ko'rsatilgan hujjatdagi YAML sarlavhasi uchun parametrlarni o'rnatish va keyin qiymat parametrlarini o'rnatish orqali amalga oshirishingiz mumkin.
- sarlavha: "Hayvonlarni tahlil qilish"
muallif: "Kit MakNulti"
Sana: "21 mart 2019 yil"
chiqdi:
html_hujjat:
code_folding: "yashirish"
parametrlar:
hayvon_nomi:
qiymati: it
tanlovlar:
— It
— Mushuk
- Quyon
o'qish_yillari:
kiritish: slayder
min: 2000 yil
maksimal: 2019
qadam: 1
davra: 1
sep: "
qiymati: [2010, 2017] -
Endi siz hujjat kodidagi barcha oʻzgaruvchilarni params$hayvon_nomi va params$yillar_oʻquv yili sifatida roʻyxatdan oʻtkazishingiz mumkin. Keyin biz "Knit" ochiladigan menyusidan (yoki knit_with_parameters()) foydalanamiz va parametrlarni tanlashimiz mumkin.
openjs
discoverjs - bu o'rnatilgan R kodi, intuitiv navigatsiya va slayd menyulari bilan ajoyib HTML taqdimotlarini yaratishga imkon beruvchi paket. HTML yorliqlari turli uslublar opsiyalari bilan ichki slayd tuzilishini tezda yaratishga imkon beradi. Xo'sh, HTML har qanday qurilmada ishlaydi, shuning uchun taqdimotni har bir telefon, planshet yoki noutbukda ochish mumkin. Ma'lumotni oshkor qilish paketni o'rnatish va uni YAML sarlavhasida chaqirish orqali sozlanishi mumkin. Mana bir misol:
Aksariyat dasturchilar R Shiny-da mavjud bo'lgan HTML teglaridan to'liq foydalanmaydi. Ammo bu faqat 110 ta teg bo'lib, ular HTML funksiyasi yoki media tinglash uchun qisqa qo'ng'iroqni yaratishga imkon beradi. Misol uchun, men yaqinda tags$audio-dan vazifa bajarilganda foydalanuvchini ogohlantiruvchi "g'alaba" tovushini ijro etish uchun foydalandim.
Maqtov to'plami
Ushbu paketdan foydalanish juda oddiy, lekin foydalanuvchiga maqtovni ko'rsatish uchun kerak. Bu g'alati tuyuladi, lekin aslida ular buni yoqtirishadi.