Xây dựng bài đăng Cách quản lý hiệu quả dự án phân tích thống kê và ProjectTemplategói trong R ...
Q: Làm thế nào để bạn xây dựng cấu trúc thư mục dự án thống kê của mình khi nhiều ngôn ngữ có tính năng nặng nề (ví dụ: R VÀ Splus)?
Hầu hết các cuộc thảo luận về chủ đề này đã được giới hạn trong các dự án chủ yếu sử dụng một ngôn ngữ. Tôi quan tâm đến cách giảm thiểu sự chậm chạp, nhầm lẫn và phá vỡ khi sử dụng nhiều ngôn ngữ.
Tôi đã bao gồm bên dưới cấu trúc dự án hiện tại và phương pháp để thực hiện. Một thay thế có thể là để mã riêng biệt vì vậy mà tôi có ./Rvà ./Splusdanh bạ --- mỗi chứa của riêng mình /lib, /src, /util, /tests, và /mungethư mục.
Q: Cách tiếp cận nào sẽ gần nhất với "thực tiễn tốt nhất" (nếu có tồn tại)?
- / data - dữ liệu được chia sẻ trên các dự án
- / library - script được chia sẻ trên các dự án
- / dự án / myproject - thư mục làm việc của tôi. Hiện tại, nếu tôi sử dụng nhiều ngôn ngữ, họ sẽ chia sẻ vị trí này làm thư mục làm việc của họ.
- ./data/ - dữ liệu cụ thể
/myprojectvà liên kết tượng trưng đến dữ liệu trong/data - ./cache/ - không gian làm việc được lưu trong bộ nhớ cache (ví dụ:
.RDatacác tệp được lưu bằngsave.image()R hoặc.sddcác tệp được lưu bằngdata.dump()Splus) - ./lib/ - tệp dự án chính. Giống nhau trên tất cả các dự án. Một dự án R sẽ được chạy qua
source("./lib/main.R")đó lần lượt chạyload.R,clean.R,test.R,analyze.R,.report.R. Hiện nay, nếu nhiều ngôn ngữ đang được sử dụng, chẳng hạn, Splus ngoài R, tôi sẽ némmain.ssc,clean.sscvv vào thư mục này là tốt. Không chắc chắn tôi thích điều này mặc dù. - ./src/ - các chức năng dành riêng cho dự án. Thu thập một chức năng cho mỗi tệp.
- ./util/ - các chức năng chung cuối cùng sẽ được đóng gói. Thu thập một chức năng cho mỗi tệp.
- ./tests/ - tập tin để chạy các trường hợp thử nghiệm. Được sử dụng bởi
./lib/test.R - ./munge/ - tập tin để làm sạch dữ liệu. Được sử dụng bởi
./lib/clean.R - ./f hình / - bảng và hình đầu ra từ
./lib/report.Rđược sử dụng trong báo cáo cuối cùng - ./report/ -
.textệp và liên kết tượng trưng đến tệp trong./figures - ./presentation/ -
.textệp cho bản trình bày (thường làBeamerlớp) - ./temp/ - vị trí cho các tập lệnh tạm thời
- ./README
- ./LÀM
- ./.RData - để lưu trữ không gian làm việc của dự án R
- ./.Data/ - để lưu trữ không gian làm việc của dự án S