Saya juga mencari cawan suci dari alur kerja yang tepat untuk menyusun proyek R besar. Saya menemukan tahun lalu paket ini disebut rsuite , dan, tentu saja, itu yang saya cari. Paket R ini secara eksplisit dikembangkan untuk penyebaran proyek R besar tetapi saya menemukan bahwa itu dapat digunakan untuk proyek R yang lebih kecil, ukuran sedang, dan ukuran besar. Saya akan memberikan tautan ke contoh dunia nyata dalam satu menit (di bawah), tetapi pertama-tama saya ingin menjelaskan paradigma baru dalam membangun proyek R denganrsuite
.
Catatan. Saya bukan pencipta atau pengembang rsuite
.
Kami telah melakukan semua kesalahan proyek dengan RStudio; tujuannya tidak boleh menjadi penciptaan proyek atau paket tetapi dari ruang lingkup yang lebih besar. Di rsuite, Anda membuat proyek super atau proyek master, yang menampung proyek R standar dan paket R, dalam semua kombinasi yang memungkinkan.
Dengan memiliki proyek super R Anda tidak perlu lagi Unix make
untuk mengelola tingkat proyek R yang lebih rendah di bawahnya; Anda menggunakan skrip R di bagian atas. Mari ku tunjukkan. Saat Anda membuat proyek master rsuite, Anda mendapatkan struktur folder ini:
Folder R
adalah tempat Anda meletakkan skrip manajemen proyek Anda, yang akan diganti make
.
Folder packages
adalah folder tempat rsuite
menyimpan semua paket yang menyusun proyek-super. Anda juga dapat menyalin rekatkan paket yang tidak dapat diakses dari internet, dan rsuite juga akan membuatnya.
folder deployment
adalah tempat rsuite
akan menulis semua binari paket yang ditunjukkan dalam DESCRIPTION
file paket . Jadi, ini membuat, dengan sendirinya, Anda memproyeksikan waktu akros yang sepenuhnya dapat direproduksi.
rsuite
dilengkapi dengan klien untuk semua sistem operasi. Saya sudah menguji semuanya. Tetapi Anda juga dapat menginstalnya sebagai addin
untuk RStudio.
rsuite
juga memungkinkan Anda membangun conda
instalasi yang terisolasi di foldernya sendiri conda
. Ini bukan lingkungan tetapi instalasi Python fisik yang berasal dari Anaconda di mesin Anda. Ini bekerja bersama-sama dengan R's SystemRequirements
, dari mana Anda dapat menginstal semua paket Python yang Anda inginkan, dari saluran conda yang Anda inginkan.
Anda juga dapat membuat repositori lokal untuk menarik paket R saat Anda offline, atau ingin membuat semuanya lebih cepat.
Jika mau, Anda juga dapat membangun proyek R sebagai file zip dan membaginya dengan kolega. Ini akan berjalan, asalkan kolega Anda memiliki versi R yang sama diinstal.
Pilihan lain adalah membangun wadah seluruh proyek di Ubuntu, Debian, atau CentOS. Jadi, alih-alih berbagi file zip dengan build proyek Anda, Anda membagikan seluruh Docker
kontainer dengan proyek Anda yang siap dijalankan.
Saya telah banyak bereksperimen dengan rsuite
mencari reproduktifitas penuh, dan menghindari tergantung pada paket yang diinstal di lingkungan global. Ini salah karena segera setelah Anda menginstal pembaruan paket, proyek, lebih sering daripada tidak, berhenti bekerja, khususnya paket-paket dengan panggilan yang sangat spesifik ke suatu fungsi dengan parameter tertentu.
Hal pertama yang saya mulai coba adalah dengan bookdown
ebooks. Saya tidak pernah cukup beruntung memiliki bookdown untuk bertahan dalam ujian waktu lebih dari enam bulan. Jadi, apa yang saya lakukan adalah mengonversi proyek bookdown asli untuk mengikuti rsuite
kerangka kerja. Sekarang, saya tidak perlu khawatir tentang memperbarui lingkungan R global saya, karena proyek ini memiliki paket sendiri dalam deployment
folder tersebut.
Hal berikutnya yang saya lakukan adalah membuat proyek pembelajaran mesin tetapi di rsuite
jalan. Master, mengatur proyek di atas, dan semua sub proyek dan paket berada di bawah kendali master. Ini benar-benar mengubah cara Anda berkode dengan R, membuat Anda lebih produktif.
Setelah itu saya mulai bekerja di paket baru saya yang disebut rTorch
. Ini mungkin, sebagian besar, karena rsuite
; itu membuat Anda berpikir dan menjadi besar.
Salah satu nasihat. Belajar rsuite
itu tidak mudah. Karena menghadirkan cara baru untuk membuat proyek R, rasanya sulit. Jangan kecewa pada upaya pertama, terus mendaki lereng sampai Anda berhasil. Ini membutuhkan pengetahuan lanjutan tentang sistem operasi Anda dan sistem file Anda.
Saya berharap bahwa suatu hari RStudio
memungkinkan kita untuk menghasilkan proyek rsuite
pengaturan seperti halnya dari menu. Itu akan luar biasa.
Tautan:
Repo RSuite GitHUb
Bookdown r4ds
tutorial keras dan mengkilap
moderndive-book-rsuite
interpretable_ml-rsuite
IntroMachineLearningWithR-rsuite
clark-intro_ml-rsuite
hyndman-bookdown-rsuite
Statistical_rethinking-rsuite
fread-benchmarks-rsuite
dataviz-rsuite
retail-segmentation-h2o-tutorial
telco-customer-churn-tutorial
sclerotinia_rsuite