Ayrıca R büyük bir projeyi bir araya getirmek için doğru iş akışının kutsal kasesini de arıyordum. Geçen yıl rsuite adı verilen bu paketi buldum ve kesinlikle aradığım şey buydu. Bu R paketi, büyük R projelerinin konuşlandırılması için açıkça geliştirildi, ancak daha küçük, orta boy ve büyük boyutlu R projeleri için kullanılabileceğini buldum. Bir dakika içinde (aşağıda) gerçek dünya örneklerine bağlantılar vereceğim, ancak önce R projeleri inşa etmenin yeni paradigmasını açıklamak istiyorum rsuite
.
Not. Ben yaratıcısı ya da geliştiricisi değilim rsuite
.
RStudio ile tamamen yanlış projeler yapıyoruz; amaç, bir proje veya paket oluşturmak değil, daha geniş bir kapsam oluşturmak olmalıdır. Rsuite'de, mümkün olan tüm kombinasyonlarda standart R projelerini ve R paketlerini barındıran bir süper proje veya ana proje yaratırsınız.
Bir R süper projesine sahipken, make
altındaki R projelerinin daha düşük seviyelerini yönetmek için artık Unix'e ihtiyacınız yok ; üstte R komut dosyaları kullanırsınız. Sana göstereyim. Bir rsuite ana projesi oluşturduğunuzda, bu klasör yapısını alırsınız:
Klasör R
, yerini alacak olan proje yönetimi komut dosyalarınızı koyduğunuz yerdir make
.
Klasör packages
, rsuite
süper projeyi oluşturan tüm paketleri içeren klasördür . Ayrıca internetten erişilemeyen bir paketi kopyalayıp yapıştırabilirsiniz ve rsuite de oluşturacaktır.
klasör deployment
, rsuite
paketler DESCRIPTION
dosyasında belirtilen tüm paket ikili dosyalarını yazacağı yerdir . Yani, bu, kendi başına, tamamen tekrarlanabilir accros zamanını yansıtır.
rsuite
tüm işletim sistemleri için bir istemci ile birlikte gelir. Hepsini test ettim. Ancak addin
RStudio için bir olarak da yükleyebilirsiniz .
rsuite
ayrıca conda
kendi klasöründe yalıtılmış bir kurulum oluşturmanıza izin verir conda
. Bu bir ortam değil, makinenizdeki Anaconda'dan türetilen fiziksel bir Python kurulumu. Bu SystemRequirements
, istediğiniz tüm Python paketlerini istediğiniz herhangi bir conda kanalından yükleyebileceğiniz R'lerle birlikte çalışır.
Çevrimdışı olduğunuzda veya her şeyi daha hızlı oluşturmak istediğinizde, R paketlerini çekmek için yerel depolar da oluşturabilirsiniz.
İsterseniz, R projesini bir zip dosyası olarak da oluşturabilir ve iş arkadaşlarınızla paylaşabilirsiniz. İş arkadaşlarınıza aynı R sürümünün yüklü olması koşuluyla çalışır.
Başka bir seçenek, Ubuntu, Debian veya CentOS'ta tüm projenin bir konteynerini oluşturmaktır. Böylece, bir zip dosyasını proje yapınızla paylaşmak yerine, tüm Docker
kapsayıcıyı projenizle çalışmaya hazır olarak paylaşırsınız .
rsuite
Tam tekrarlanabilirlik aramak için çok şey deniyorum ve küresel ortamda yüklediği paketlere bağlı kalmaktan kaçınıyorum. Bu yanlıştır, çünkü bir paket güncellemesini kurar kurmaz, proje, çoğu zaman, çalışmayı durdurur, özellikle belirli parametrelere sahip bir fonksiyona çok özel çağrıları olan paketler.
Denemeye başladığım ilk şey bookdown
e-kitaplarla oldu. Altı aydan daha uzun bir süre testten kurtulmak için bir rezervasyon yaptırdığım kadar şanslı olmamıştım. Yaptığım şey orijinal kayıt projesini rsuite
çerçeveyi takip edecek şekilde dönüştürmek . Şimdi, global R ortamımı güncelleme konusunda endişelenmem gerekmiyor, çünkü projenin deployment
klasörde kendi paketleri var .
Yaptığım bir sonraki şey makine öğrenim projeleri oluşturmaktı ama bu rsuite
şekilde oldu. Üstte bir master, orkestrasyon projesi ve master'ın kontrolü altında olacak tüm alt projeler ve paketler. R ile kodlama şeklinizi gerçekten değiştirerek sizi daha üretken hale getirir.
Ondan sonra yeni bir paketimde çalışmaya başladım rTorch
. Bu, büyük olasılıkla rsuite
; düşünmenizi ve büyümenizi sağlar.
Bir parça tavsiye olsa. Öğrenmek rsuite
kolay değil. R projeleri yaratmanın yeni bir yolunu sunduğu için zor geliyor. İlk denemelerde dehşete düşmeyin, yokuşa kadar tırmanmaya devam edin. İşletim sisteminiz ve dosya sisteminiz hakkında ileri düzeyde bilgi gerektirir.
Bir gün menüden olduğu RStudio
gibi orkestrasyon projeleri üretmemize izin veriyor rsuite
. Harika olurdu.
Bağlantılar:
RSuite GitHUb repo
r4ds bookdown
keras ve parlak öğretici
moderndive-kitap-rsuite
interpretable_ml-rsuite
IntroMachineLearningWithR-rsuite
Clark-intro_ml-rsuite
Hyndman-bookdown-rsuite
statistical_rethinking-rsuite
fread-kriterler-rsuite
dataviz-rsuite
perakende segmentasyon-h2o-öğretici
telekom-müşteri müşteri kaybı-öğretici
sclerotinia_rsuite