2013-05-29 42 views
6

Tôi đã đào sâu vào một số nơi cho 2 nhu cầu đơn giản nhưng không thể tìm thấy câu trả lời cuối cùng.Batch R Script - thiết lập thư mục làm việc và chọn thư mục đầu ra

Tôi đang chạy tập lệnh R ở chế độ hàng loạt. Không chắc chắn liệu giải pháp của tôi có phải là giải pháp tốt nhất hay không nhưng tôi đang sử dụng R CMD BATCH theo http://stat.ethz.ch/R-manual/R-patched/library/utils/html/BATCH.html được bao gồm trong tệp bat.

Trước tiên, tôi muốn có thư mục chứa tập lệnh R được thiết lập làm thư mục làm việc thay vì lưu tệp dơi.

Thứ hai, tôi muốn chuyển tất cả đầu ra từ tập lệnh R (tệp csv và biểu đồ) sang một thư mục cụ thể khác với thư mục làm việc. Tôi không thể tìm thấy bất kỳ tùy chọn nào cho yêu cầu cơ bản như vậy.

Ý tưởng cuối cùng là có thể chạy tệp dơi trên các máy tính khác nhau bất kể tập lệnh R được lưu ở đâu.

Cảm ơn

Trả lời

6

Bạn không đưa ra mã để câu trả lời của tôi chỉ là lời khuyên hoặc tôi sẽ làm gì cho công việc đó.

  1. Sử dụng Rscript.exe là cách để đi cho tập lệnh theo lô. R CMD là một loại công cụ kế thừa.
  2. Bạn không cần phải đặt hoặc thay đổi thư mục làm việc. Nó là một nguồn gốc của vấn đề
  3. Bạn có thể khởi động bạn file bat nơi bạn muốn và bên trong nó bạn đi đến vị trí R kịch bản sử dụng cd ví dụ bạn file bat có thể như:

    cd R_SCRIPT_PATH 
    Rscript youscript.R arg1 arg2 
    
  4. Bạn có thể sử dụng một trong các đối số tập lệnh dưới dạng thư mục đầu ra cho các tệp kết quả của bạn. Ví dụ: bên trong tập lệnh của bạn, bạn làm việc như thế này:

    args <- commandArgs(trailingOnly = TRUE) 
    resultpath <- as.character(args[1]) 
    ..... 
    write.table(res1, file=paste(resultpath,'res1.csv',sep='/') 
    
Các vấn đề liên quan