2010-06-12 25 views
14

Có ai có thể chia sẻ kinh nghiệm của mình về quy trình làm việc để phát triển dự án R theo ESS không? Tôi đã thử nhiều lần để học các emac nhưng tôi vẫn chưa hiểu. Tôi có thể hiểu ESS như một biên tập viên, nhưng có một quan điểm dự án trong ESS không? những cách hiệu quả để thiết lập/xem thư mục dự án R, mã hóa và thử nghiệm là gì và ESS của chúng ta có lợi thế để tạo thuận lợi cho toàn bộ quá trình như thế nào?Quy trình làm việc ESS cho dự án R/phát triển gói

Bạn có sử dụng ESS làm trình soạn thảo R tốt hay có xu hướng mô phỏng môi trường R IDE trong ESS?

Cảm ơn mọi lời khuyên.

+0

Xem thêm http://stats.stackexchange.com/questions/10987 và http://stats.stackexchange.com/questions/2910 – naught101

Trả lời

10

Tôi không chắc chắn chính xác những gì bạn mong đợi là câu trả lời cho câu trả lời này. Tôi, trước hết, đã bị đánh cắp (và thích nghi) một hệ thống mà đã được đề xuất here a little while ago (by Josh Reich):

Tạo một thư mục cho mỗi dự án, và chia tay công việc của bạn trong một loạt các file .R khác nhau:

  • tải .R để lấy dữ liệu thô của bạn vào R;
  • Prep.R để làm sạch dữ liệu, mã hóa biến, v.v.
  • Func.R để mã hóa mọi chức năng tùy chỉnh bạn cần để đánh giá; và
  • Eval.R để chạy nội dung cuối cùng của bạn.

Nếu điều đó không phù hợp với phong cách của bạn, chỉ cần thay đổi nó. Sau đó, bạn có thể có một tệp chính để gọi từng phần một với nhau (tốt cho khả năng tái sản xuất) hoặc lưu ở các giai đoạn khác nhau và có các tập lệnh riêng lẻ tải dữ liệu thích hợp (tốt nếu có một số chuẩn bị trước). công việc là rất tính toán/thời gian chuyên sâu).

**

Trên một lưu ý khác, mẹo được đăng tại liên kết thực sự giúp tôi tham gia vào ESS. Nó biến Shift-Enter thành một cửa ESS một cửa: http://www.kieranhealy.org/blog/archives/2009/10/12/make-shift-enter-do-a-lot-in-ess/

+0

cảm ơn vì mẹo dịch chuyển tuyệt vời. – ahala

+0

Vui mừng vì nó đã giúp! – Vincent

12

Có vẻ như bạn đang hỏi hai câu hỏi riêng biệt. Một câu hỏi liên quan đến quy trình làm việc và các mối quan tâm khác bằng cách sử dụng ESS. Khi tôi sử dụng StatET và Eclipse, tôi sẽ chỉ chia sẻ kinh nghiệm của mình về khía cạnh luồng công việc của câu hỏi của bạn.

Như với Vincent Tôi cũng làm theo một cái gì đó giống như việc đặt ra bởi Josh Reich đây (xem thêm ý kiến ​​hữu ích của Hadley): Workflow for statistical analysis and report writing

Mặc dù nó có thể khác nhau giữa các dự án, tôi có xu hướng để có một vài chính R file

  • import.R: đây nhập khẩu tập tin dữ liệu và thực hiện bất kỳ làm sạch cần thiết và thao tác
  • analyse.R: này tạo ra sản lượng mà tôi cần cho bất kỳ báo cáo cuối cùng
  • chính.R: Điều này gọi là import.R và phân tích.R

Mục đích là nhập.R. và phân tích.R để thể hiện quy trình hoàn chỉnh và cuối cùng để tạo kết quả cuối cùng của bất kỳ phân tích nào.

Trong điều khoản của một cấu trúc thư mục cho một dự án phân tích, tôi sẽ thường xuyên cũng có các thư mục sau

  • dữ liệu: để lưu trữ bất kỳ tập tin dữ liệu thô
  • meta: để lưu trữ meta dữ liệu, chẳng hạn như các nhãn biến, hệ thống tính điểm để kiểm tra, ghi lại thông tin, v.v.
  • đầu ra: để lưu trữ bất kỳ đồ họa, bảng hoặc văn bản nào được tạo bởi phân tích của tôi mà tôi có thể muốn để kết hợp vào một chương trình bên ngoài
  • temp: Khi khám phá dữ liệu và phân tích động não, tôi muốn nhập mã vào tệp thay vì sử dụng bảng điều khiển. Tôi có xu hướng nhãn các temp1.R, temp2.R, temp3.R. Tôi lưu trữ chúng trong một thư mục tạm thời. Bằng cách đó tôi có một hồ sơ vĩnh viễn dễ dàng truy cập. Nếu các phân tích trở thành cuối cùng chúng được kết hợp vào một trong các tệp R chính (ví dụ: import.R hoặc analysis.R)
  • functions: Nếu tôi nghĩ rằng một chức năng sẽ cần thiết trong một vài dự án, tôi thường đặt nó một chức năng cho mỗi tập tin hoặc một tập hợp các chức năng liên quan trong một tập tin trong một thư mục được gọi là chức năng. Điều này làm cho nó tương đối dễ dàng để tái sử dụng các chức năng trên các dự án, khi các yêu cầu chính thức của phát triển gói là nhiều hơn cần thiết.
  • thư viện: Nếu tôi muốn tạo một số chức năng chung mà tôi nghĩ rằng sẽ là dự án cụ thể, tôi sẽ đặt chúng trong thư mục này
  • tiết kiệm: Một thư mục để lưu trữ bất kỳ lưu R đối tượng

StatET và Eclipse giúp dễ dàng tương tác với hệ thống tệp như vậy. Tất nhiên, với tất cả R gurus sử dụng ESS và Emacs, tôi chắc chắn nó cũng xử lý tương tác với hệ thống tập tin tốt.

+0

Đã chỉnh sửa câu trả lời gốc để có được tên đúng. Cảm ơn bạn đã tìm trang Jeromy! – Vincent

3

Một số khác đã cho bạn một số ý tưởng hay về cách thiết lập cấu trúc thư mục/tệp của bạn cho một dự án.

Bạn cũng đã hỏi về "lượt xem dự án", trong trường hợp đó bạn có thể muốn xem xét Emacs Code Browser (ECB).

Bạn có thể tìm thấy một số ảnh chụp màn hình của nó trong hành động trên trang web của mình, ở đây: http://ecb.sourceforge.net/screenshots/index.html

+0

Cảm ơn. Đây là những gì tôi đang tìm kiếm. – ahala

Các vấn đề liên quan