Cấu trúc thư mục dự án thống kê với nhiều ngôn ngữ (ví dụ: R và Splus)?


9

Xây dựng bài đăng Cách quản lý hiệu quả dự án phân tích thống kê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ó ./R./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ằng save.image()R hoặc .sddcác tệp được lưu bằng data.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ạy load.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ém main.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

1
điều này chắc chắn nhận được nhiều câu trả lời hơn trên stackoverflow.com
mpiktas

1
@mpiktas, nhưng điều này rất quan trọng đối với các nhà thống kê ứng dụng.
Karl

Câu trả lời:


2

Tôi chắc chắn sẽ không gọi nó là "thực tiễn tốt nhất", nhưng dự án điển hình của tôi có các thư mục

R(mà thường chứa prepData.R, analysis.R, func.R, và figs.R, mặc dù có thể là những có thể là mỗi chia thành nhiều tập tin và có thể sử dụng Sweave hoặc asciidoc )

Perl (chủ yếu để phân tích / chuyển đổi tệp dữ liệu)

RawData (tất cả các tệp dữ liệu gốc)

Data (tất cả các tệp được xử lý)

Notes (ghi chú chung từ cộng tác viên)

Thư Rmục thường chứa các thư mục con FigsRcache.

Đặc biệt quan trọng: kiểm soát phiên bản ! Tôi thích git .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.