Tôi có một kịch bản (gọi nó là Main.R
) có đoạn mã sau để tìm bản thân khi tôi chạy nó:Làm thế nào một tập lệnh có thể tìm thấy chính nó trong R chạy từ dòng lệnh?
frame_files <- lapply(sys.frames(), function(x) x$ofile)
frame_files <- Filter(Negate(is.null), frame_files)
main.dir <- dirname(dirname(frame_files[[length(frame_files)]]))
này được sử dụng để có được những thư mục trên thư mục riêng của mình, main.dir
, được sử dụng để gọi các tập lệnh khác liên quan đến đường dẫn này.
Tôi quan tâm đến chạy kịch bản này từ một dòng lệnh, ví dụ
R CMD BATCH Main.R
hoặc
Rscript Main.R
Thật không may, các lệnh ở trên không hoạt động khi tôi gọi là kịch bản từ lệnh hàng.
Có mã nào tôi có thể đặt trong Main.R
hoặc tùy chọn cuộc gọi tới R
hoặc Rscript
mà tôi có thể sử dụng thay thế không?
Cụ thể hơn, giải pháp sẽ cần phải hoạt động trong Windows.
Điều này có hữu ích không? http://stackoverflow.com/questions/750786/whats-the-best-way-to-use-r-scripts-on-the-command-line – atomh33ls
Để công bằng, tôi không chắc chắn, nhưng nó không ' t trông giống như nó. Tôi phải nói, tôi không giỏi sử dụng dòng lệnh. Tôi đã chỉnh sửa bài viết của tôi để thêm rằng tôi đang sử dụng Windows, tôi không biết nếu nó làm cho một sự khác biệt trong câu trả lời. Đọc một số bài viết khác, tôi nhận được ấn tượng #! không hoạt động trong Windows. – J4y