2009-09-08 13 views
20

Tôi sử dụng R trong Windows trên một số máy.Làm cách nào để R nhận ra thư mục làm việc của bạn làm thư mục làm việc?

Tôi biết bạn có thể thiết lập các thư mục làm việc từ bên trong một kịch bản R, như thế này

setwd("C:/Documents and Settings/username/My Documents/x/y/z") 

... nhưng sau đó điều này phá vỡ tính di động của kịch bản. Nó cũng gây phiền nhiễu khi phải đảo ngược tất cả các dấu gạch ngang (vì Windows cung cấp cho bạn các dấu gạch chéo ngược)

Có cách nào để bắt đầu R trong một thư mục làm việc cụ thể không?

Trả lời

14

Bạn nên sao chép lối tắt sang R (tệp R.lnk) vào thư mục mong muốn. Sau đó, trong "Properties" (nút chuột phải -> tùy chọn cuối cùng) xóa mọi thứ trong trường "Bắt đầu trong ..." trong tab thứ hai ("Phím tắt"?). Nếu bạn bắt đầu R với thư mục làm việc này sẽ là một phím tắt.

Tôi không có phiên bản tiếng Anh của Windows nên tôi không chắc chắn về tên trường, nhưng chúng phải dễ tìm.

câu hỏi tương tự là R-windows-faq:

2.5 How do I run it?

2.10 How can I keep workspaces for different projects in different directories?

2.14 What are HOME and working directories?

Trong 2.14 được đề cập rằng

Thư mục làm việc là thư mục từ đó Rgui hoặc Rterm đã được khởi chạy, trừ khi một phím tắt được sử dụng khi nó được đưa ra bởi trường 'Bắt ​​đầu trong' của thuộc tính của phím tắt.

3

Nếu bạn đang sử dụng Emacs/ESS, đây không phải là vấn đề. Tôi điều hướng đến thư mục có tập lệnh R của tôi, mở nó, sau đó bắt đầu quá trình R ESS. Một giao diện điều khiển R bật lên với thư mục hiện tại làm thư mục làm việc của R.

Nếu bạn chưa chuyển đổi thành Emacs/ESS, tôi khuyên bạn nên sử dụng. (Mặc dù để ngăn chặn một cuộc chiến tranh lửa, tôi cũng lưu ý có những lựa chọn tương tự cho người dùng Vi.)

Hy vọng điều đó sẽ hữu ích.

6

Bạn có thể sử dụng biến môi trường. Điều này có thể hoạt động với Sys.getenv()Sys.setenv(). Ví dụ:

> Sys.setenv(R_TEST="testit") 
> Sys.getenv("R_TEST") 
    R_TEST 
"testit" 

Nếu bạn gửi các biến trong kịch bản của bạn, bạn sẽ có thể truy cập nó từ bên trong, và sau đó gọi setwd() về sản lượng đó.

+0

Đừng các biến môi trường đặt theo cách này kéo dài xuyên suốt các phiên R? Làm thế nào về khởi động lại máy tính đầy đủ? – eykanal

+0

Không, nhưng nếu bạn thêm phần này vào tệp .Rprofile của mình thì sẽ. Ngoài ra, bạn có thể nhận các biến hệ thống từ hệ điều hành (ví dụ: trong Windows, bạn có thể lưu trữ các giá trị của bạn trong các biến môi trường). – Shane

5

Lưu không gian làm việc của bạn vào thư mục mong muốn và sau đó bạn chỉ cần mở không gian làm việc từ Windows explorer.

3

Chỉ một chi tiết: thay vì đảo ngược dấu gạch chéo như bạn nói, chỉ cần thêm dấu gạch chéo ngược khác. Hai trong số này hoạt động giống như một trong những /. Điều đó làm cho nó dễ dàng hơn một chút.

+0

+1 Ehva: Đây là cách dễ nhất khi bạn làm việc R cũ và chỉ muốn đặt thư mục làm việc của bạn một lần. – PavoDive

4

Tôi đặt dòng sau ở trước tập lệnh của mình và nó cho phép tôi làm việc trên máy tính của mình.

setwd(path.expand("~/path/to/working/directory/")) 

nơi ~ is = vào thư mục chính của bạn.

Sys.setenv(HOME = "path") hoặc Sys.setenv(R_USER = "path") cả hai có thể đặt thư mục chính.

Trong trường hợp của mình, tôi làm việc trên một vài ô cửa sổ, mỗi hộp có cấu trúc thư mục khá khác nhau, nhưng bằng cách đặt thư mục chính đúng, tôi có thể đồng bộ mã giữa các máy tính và chạy chúng đúng cách. có cấu trúc thư mục tương tự.

-1

Đặt lối tắt cho gui R vào thư mục bạn muốn. Nhấp chuột phải và xem các thuộc tính phím tắt. Xóa mục nhập cho "Bắt đầu trong" và nhấp vào OK. Khi bạn khởi chạy R gui từ shortcut này, thư mục mặc định sẽ là thư mục mà bạn đã khởi chạy. Sao chép/dán phím tắt này bất cứ nơi nào bạn muốn.

+0

Sự khác biệt giữa câu trả lời của bạn và câu trả lời của tôi là gì? – Marek

1

Đối với Ubuntu:
Chèn lệnh sau vào tập tin của bạn .Rprofile (thường là trong thư mục chính của bạn):

setwd(Sys.getenv("PWD")) 

Bây giờ thư mục làm việc mặc định của bạn sẽ là bất cứ thư mục mà bạn đưa ra R từ. Hãy nhớ rằng bạn cũng có thể thiết lập không gian làm việc mặc định trong các thư mục khác nhau bằng cách lưu hình ảnh không gian làm việc của bạn là .RData ở bất kỳ nơi nào bạn định khởi chạy R (nguồn khởi động .Rprofile trước khi tìm kiếm .Rdata trong cwd).

0

Để thiết lập thư mục làm việc R như thư mục hiện hành của kịch bản R mà tôi đang làm việc, tôi luôn luôn sử dụng một sự kết hợp của các lệnh getwd()setwd(), như thế này:

path <- getwd() setwd(path)

hoặc

setwd(getwd())

Nếu bạn muốn tìm hiểu thêm, hãy xem article này.

Chúc mừng,

[] 's