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 makeuntuk 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 Radalah tempat Anda meletakkan skrip manajemen proyek Anda, yang akan diganti make.
Folder packagesadalah folder tempat rsuitemenyimpan semua paket yang menyusun proyek-super. Anda juga dapat menyalin rekatkan paket yang tidak dapat diakses dari internet, dan rsuite juga akan membuatnya.
folder deploymentadalah tempat rsuiteakan menulis semua binari paket yang ditunjukkan dalam DESCRIPTIONfile paket . Jadi, ini membuat, dengan sendirinya, Anda memproyeksikan waktu akros yang sepenuhnya dapat direproduksi.
rsuitedilengkapi dengan klien untuk semua sistem operasi. Saya sudah menguji semuanya. Tetapi Anda juga dapat menginstalnya sebagai addinuntuk RStudio.
rsuitejuga memungkinkan Anda membangun condainstalasi 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 Dockerkontainer dengan proyek Anda yang siap dijalankan.
Saya telah banyak bereksperimen dengan rsuitemencari 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 bookdownebooks. 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 rsuitekerangka kerja. Sekarang, saya tidak perlu khawatir tentang memperbarui lingkungan R global saya, karena proyek ini memiliki paket sendiri dalam deploymentfolder tersebut.
Hal berikutnya yang saya lakukan adalah membuat proyek pembelajaran mesin tetapi di rsuitejalan. 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 rsuiteitu 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 RStudiomemungkinkan kita untuk menghasilkan proyek rsuitepengaturan 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