2011-11-10 33 views
6

thể trùng lặp:
Rscript: Determine path of the executing scriptCách lấy đường dẫn tập lệnh trong R?

Luôn tôi chạy một kịch bản R, mất My Documents như là thư mục làm việc.

Khi tôi chạy tập lệnh, tôi muốn lấy đường dẫn tập lệnh và thay đổi thư mục làm việc. Làm thế nào tôi có thể làm điều này?

Tôi muốn điều này chạy các tập lệnh trong cùng một thư mục với chức năng source().

+0

Nếu bạn sử dụng ESS có một macro để làm điều này. Có lẽ cho các biên tập viên khác. – baptiste

+1

Có lẽ: 'args <- commandArgs (trailingOnly = F); scriptPath <- dirname (sub ("- tệp =", "", args [grep ("- tệp", args)])) 'Từ một trong các câu trả lời trong liên kết SO được trích dẫn ở trên. –

Trả lời

12

nếu bạn chạy tập lệnh theo số source, sau đó thử source(file, chdir = TRUE).

2

gì hex, tôi thử đặt nó trong như một giải pháp:

args <- commandArgs(trailingOnly = F) 
scriptPath <- dirname(sub("--file=","",args[grep("--file",args)])) 
Các vấn đề liên quan