Hakkında Bilmediğiniz 10 Faydalı R Özelliği

Hakkında Bilmediğiniz 10 Faydalı R Özelliği

R çeşitli işlevlerle doludur. Aşağıda, çoğu kişinin bilmediği en ilginç on tanesini vereceğim. Bu makale, çalışmamda kullandığım R'nin bazı özelliklerine ilişkin hikayelerimin programcı arkadaşlarım tarafından coşkuyla karşılandığını keşfettikten sonra yayınlandı. Bununla ilgili her şeyi zaten biliyorsanız, zamanınızı boşa harcadığım için özür dilerim. Aynı zamanda paylaşacak bir şeyiniz varsa yorumlarda faydalı bir şeyler önerin.

Skillbox şunları önerir: pratik kurs "Python geliştiricisi".

Hatırlatıyoruz: tüm "Habr" okuyucuları için - "Habr" promosyon kodunu kullanarak herhangi bir Skillbox kursuna kayıt olurken 10 ruble indirim.

anahtar işlevi

Gerçekten, gerçekten switch()'i seviyorum. Aslında bu, başka bir değişkenin değerine dayalı olarak bir değer seçerken if ifadesi için kullanışlı bir kısayoldur. Bunu özellikle önceki seçime dayalı olarak belirli bir veri kümesini yüklemesi gereken kod yazarken yararlı buluyorum. Örneğin, hayvan adında bir değişkeniniz varsa ve hayvanın köpek, kedi veya tavşan olmasına bağlı olarak belirli bir veri kümesi seçmek istiyorsanız şunu yazın:

veri < — read.csv(
anahtar(hayvan,
"köpek" = "dogdata.csv",
"kedi" = "catdata.csv",
"tavşan" = "tavşanverisi.csv")
)

Bu özellik, bir veya daha fazla giriş menüsü öğesine bağlı olarak farklı veri kümeleri veya ortam dosyaları yüklemeniz gereken Shiny uygulamalarında faydalı olacaktır.

RStudio için kısayol tuşları

Bu hack R için çok fazla değil, RStudio IDE içindir. Ancak kısayol tuşları her zaman çok kullanışlıdır ve metin girerken zamandan tasarruf etmenizi sağlar. Favorilerim %>% operatörü için Ctrl+Shift+M ve <- operatörü için Alt+-'dir.

Tüm kısayol tuşlarını görüntülemek için RStudio'da Alt+Shift+K tuşlarına basmanız yeterlidir.

esnek kontrol paneli paketi

Shiny kontrol panelinizi hızlı bir şekilde başlatmanız gerektiğinde kontrol paneli paketinden daha iyi bir şey yoktur. Kenar çubuklarını, satırları ve sütunları kolayca ve sorunsuz bir şekilde oluşturmanıza olanak tanıyan HTML kısayollarıyla çalışma yeteneği sağlar. Ayrıca uygulamanın farklı sayfalarına yerleştirmenize, simgeler bırakmanıza, Github'da kısayollar bırakmanıza, e-posta adreslerine ve çok daha fazlasına olanak tanıyan bir başlık çubuğu kullanma olanağı da vardır.

Paket, Rmarkdown çerçevesinde çalışmanıza olanak tanır, böylece tüm uygulamaları tek bir Rmd dosyasına yerleştirebilir ve örneğin parlak gösterge paneli kullanılarak yapıldığı gibi bunları farklı sunuculara ve kullanıcı arayüzü dosyalarına dağıtamazsınız. Karmaşık bir şey üzerinde çalışmaya başlamadan önce basit bir gösterge panosu prototipi oluşturmam gerektiğinde flexdashboard'u kullanıyorum. Bu özellik bir saat içinde prototip oluşturmanıza olanak tanır.

R Shiny'de req ve validate fonksiyonları

R Shiny'de geliştirme yapmak kafa karıştırıcı olabilir, özellikle de neler olup bittiğini anlamayı zorlaştıran garip hata mesajları almaya devam ettiğinizde. Ancak zamanla Shiny gelişir ve iyileşir, burada hatanın nedenini anlamanıza olanak tanıyan daha fazla işlev ortaya çıkar. Yani req(), genellikle ne olup bittiğinin net olmadığı durumlarda "sessiz" bir hatayla sorunu çözer. Önceki eylemlerle ilişkili kullanıcı arayüzü öğelerini görüntülemenize olanak tanır. Bir örnekle açıklayalım:

çıktı$go_button < — parlak::renderUI({

# yalnızca bir hayvan girişi seçilmişse düğmeyi görüntüle

parlak::req(input$hayvan)

# görüntüleme düğmesi

parlak::actionButton("git",
yapıştır("Davranış", input$hayvan, "analiz!")
)
})

validate(), oluşturmadan önce her şeyi kontrol eder ve size bir hata mesajı yazdırma seçeneği sunar (örneğin, kullanıcının yanlış dosyayı yüklediğini):

# csv giriş dosyasını al

inFile < — giriş$dosya1
veri < — inFile$datapath

# tabloyu yalnızca köpek ise oluştur

parlak::renderTable({
# bunun kedi veya tavşan dosyası değil, köpek dosyası olup olmadığını kontrol edin
parlak::doğrula(
need("Köpek Adı" %in% sütun adları(veri))
"Köpek Adı sütunu bulunamadı — doğru dosyayı yüklediniz mi?"
)

veri
})

Tüm bu özellikler hakkında daha fazla bilgi burada bulunabilir.

Kimlik bilgilerinizi sistem ortamında kendiniz için saklama

Kimlik bilgilerini girmenizi gerektiren kodu paylaşmayı planlıyorsanız kendi kimlik bilgilerinizi Github'da veya başka bir hizmette barındırmamak için sistem ortamını kullanın. Örnek yerleşim:

Sistem.setenv(
DSN = "veritabanı_adı",
UID = "Kullanıcı Kimliği",
PASS = "Şifre"
)

Artık ortam değişkenlerini kullanarak giriş yapabilirsiniz:

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

Bunları doğrudan işletim sisteminde ortam değişkenleri olarak ayarlamak (özellikle verileri sık kullanıyorsanız) daha da kullanışlıdır. Bu durumda bunlar her zaman mevcut olacak ve bunları kodda belirtmenize gerek kalmayacak.

Şekillendiriciyle düzenli evreni otomatikleştirin

Şekillendirici paketi kodunuzu temizlemenize yardımcı olabilir; kod stilini otomatik olarak düzenli evrene getirmek için birçok seçeneğe sahiptir. Tek yapmanız gereken sorunlu betiğinizde styler::style_file() komutunu çalıştırmak. Paket düzeni yeniden sağlamak için çok şey yapacaktır (ancak her şeyi değil).

R Markdown Belgelerinin Parametrelendirilmesi

Köpekler hakkındaki çeşitli gerçekleri analiz ettiğiniz harika bir R Markdown belgesi oluşturdunuz. Ve sonra aynı işi yapmanın daha iyi olacağı anlaşılıyor, ama sadece kedilerle. Hiç sorun değil, kedi raporlarının oluşturulmasını tek bir komutla otomatikleştirebilirsiniz. Bunu yapmak için yalnızca R işaretleme belgenizi parametreleştirmeniz gerekir.

Bunu, belirtilen belgedeki YAML başlığına ilişkin parametreleri ayarlayıp ardından değer parametrelerini ayarlayarak yapabilirsiniz.

— başlık: “Hayvan Analizi”
yazar: "Keith McNulty"
tarih: "21 Mart 2019"
çıktı:
html_document:
code_folding: "gizle"
parametreler:
hayvan_adı:
değer: Köpek
seçimler:
-Köpek
-Kedi
- Tavşan
yıllık_çalışma_yılları:
giriş: kaydırıcı
dk: 2000
maksimum: 2019
Aşama 1
yuvarlak: 1
Eylül: "
değer: [2010, 2017] —

Artık belge kodundaki tüm değişkenleri params$hayvan_adı ve params$yıl_of_study olarak kaydedebilirsiniz. Daha sonra Knit açılır menüsünü (veya knit_with_parameters()) kullanacağız ve parametreleri seçebileceğiz.

Hakkında Bilmediğiniz 10 Faydalı R Özelliği

ifşa

Revejs, yerleşik R kodu, sezgisel gezinme ve slayt menüleri ile harika HTML sunumları oluşturmanıza olanak tanıyan bir pakettir. HTML kısayolları, farklı stil seçenekleriyle hızlı bir şekilde iç içe geçmiş bir slayt yapısı oluşturmanıza olanak tanır. HTML her cihazda çalışacağından sunum her telefonda, tablette veya dizüstü bilgisayarda açılabilir. Bilgilerin açıklanması, paket yüklenip YAML başlığında çağrılarak yapılandırılabilir. İşte bir örnek:

— başlık: "İnsan Analizi Evreninin Sınırını Keşfetmek"
yazar: "Keith McNulty"
çıktı:
açığajs::revealjs_sunum:
merkez: evet
şablon:starwars.html
tema: siyah
tarih: “HR Analytics Buluşması Londra – 18 Mart 2019”
kaynak_dosyaları:
— darth.png
- ölüm yıldızı.png
- hanchewy.png
- milenyum.png
- r2d2- threepio.png
-starwars.html
—starwars.png
—stormtrooper.png
-

Sunum kaynak kodu burada yayınlandıve kendisirpubs.com/keithmcnulty/hr_meetup_london'>sunum - burada.

Hakkında Bilmediğiniz 10 Faydalı R Özelliği

R Shiny'deki HTML etiketleri

Çoğu programcı R Shiny'nin sahip olduğu HTML etiketlerinden tam olarak yararlanmıyor. Ancak bunlar yalnızca 110 etikettir ve bir HTML işlevi veya medya oynatma için kısa bir çağrı oluşturmayı mümkün kılar. Örneğin, yakın zamanda bir görev tamamlandığında kullanıcıyı uyaran bir "zafer" sesi çalmak için tags$audio'yu kullandım.

Övgü paketi

Bu paketin kullanımı oldukça basittir ancak kullanıcıya övgü göstermek için gereklidir. Garip görünüyor ama aslında bundan hoşlanıyorlar.

Hakkında Bilmediğiniz 10 Faydalı R Özelliği

Skillbox şunları önerir:

Kaynak: habr.com

Yorum ekle