Membangun posting Bagaimana mengelola proyek analisis statistik dan ProjectTemplate
paket dalam R ...
T: Bagaimana Anda membangun struktur direktori proyek statistik Anda ketika banyak bahasa banyak fitur (misalnya, R DAN Splus)?
Sebagian besar diskusi tentang topik ini terbatas pada proyek yang terutama menggunakan satu bahasa. Saya prihatin dengan cara meminimalkan kecerobohan, kebingungan, dan kerusakan, saat menggunakan banyak bahasa.
Saya telah memasukkan di bawah ini struktur proyek saya dan metode untuk melakukan sesuatu. Sebuah alternatif mungkin untuk kode yang terpisah sehingga saya memiliki ./R
dan ./Splus
direktori --- masing-masing berisi sendiri /lib
, /src
, /util
, /tests
, dan /munge
direktori.
T: Pendekatan mana yang paling dekat dengan "praktik terbaik" (jika ada)?
- / data - data yang dibagikan di seluruh proyek
- / perpustakaan - skrip dibagikan di seluruh proyek
- / projects / myproject - direktori kerja saya. Saat ini, jika saya menggunakan beberapa bahasa, mereka membagikan lokasi ini sebagai direktori kerja mereka.
- ./data/ - data khusus untuk
/myproject
dan symlink ke data dalam/data
- ./cache/ - ruang kerja yang di-cache (mis.,
.RData
file disimpan menggunakansave.image()
dalam R atau.sdd
file disimpan menggunakandata.dump()
di Splus) - ./lib/ - file proyek utama. Sama di semua proyek. Sebuah proyek R akan dijalankan melalui
source("./lib/main.R")
yang pada gilirannya berjalanload.R
,clean.R
,test.R
,analyze.R
,.report.R
. Saat ini, jika beberapa bahasa yang digunakan, misalnya, splus selain R, aku akan melemparkanmain.ssc
,clean.ssc
, dll ke direktori ini juga. Tidak yakin saya suka ini. - ./src/ - fungsi spesifik proyek. Mengumpulkan satu fungsi per file.
- ./util/ - fungsi umum pada akhirnya akan dikemas. Mengumpulkan satu fungsi per file.
- ./tests/ - file untuk menjalankan test case. Digunakan oleh
./lib/test.R
- ./munge/ - file untuk membersihkan data. Digunakan oleh
./lib/clean.R
- ./figures/ - tabel dan gambar output
./lib/report.R
untuk digunakan dalam laporan akhir - ./report/ -
.tex
file dan symlink ke file dalam./figures
- ./presentation/ -
.tex
file untuk presentasi (biasanyaBeamer
kelas) - ./temp/ - lokasi untuk skrip sementara
- ./BACA AKU
- ./MELAKUKAN
- ./.RData - untuk menyimpan ruang kerja proyek R
- ./.Data/ - untuk menyimpan ruang kerja proyek S
sumber
Jawaban:
Saya pasti tidak akan menyebutnya "praktik terbaik", tetapi proyek khas saya memiliki direktori
R
(yang umumnya mengandungprepData.R
,analysis.R
,func.R
, danfigs.R
, meskipun bisa ini bisa setiap terpecah menjadi banyak file dan bisa menggunakan Sweave atau asciidoc )Perl
(kebanyakan untuk parsing / mengonversi file data)RawData
(semua file data asli)Data
(semua file yang diproses)Notes
(umumnya catatan dari kolaborator)The
R
direktori sering mengandung subdirektoriFigs
danRcache
.Sangat penting: kontrol versi ! Saya suka git .
sumber