2012-11-30 21 views
6

Chào buổi chiều!Có thể đặt vị trí mặc định cho gói R thay vì cho người dùng lựa chọn không?

Tôi là quản trị viên hệ thống tại một trường đại học và tôi chịu trách nhiệm thiết lập hình ảnh cho phòng thí nghiệm máy tính. R là một phần của hình ảnh mặc định và trong thời gian dài nhất, chúng tôi chỉ đăng nhập một lần cho tất cả người dùng trong phòng thí nghiệm, cho phép chúng tôi đặt thư mục mặc định một lần và sau đó hình ảnh trên nhiều hệ thống. Điều này đã thay đổi và giờ đây chúng tôi có tất cả người dùng đăng nhập bằng đăng nhập được cá nhân hóa. Điều đó mang lại cho tôi một vấn đề tôi gặp phải với R, và tại sao tôi lại quay sang bạn.

Bạn thấy, như hầu hết các bạn có thể biết, khi R được chạy lần đầu tiên, một hộp thoại sẽ mở ra để nhắc nhở vị trí lưu gói và tương tự. Nhấn 'OK' và đó là tệp người dùng, nhưng nhấn bất kỳ thứ gì khác và nó ở bất cứ nơi nào bạn đặt nó. Vấn đề là, chúng tôi đã khóa các hệ thống khá chặt chẽ và việc truy cập vào bất kỳ thứ gì nhiều hơn thư mục cá nhân của người dùng không phải là thứ chúng tôi muốn làm.

Câu hỏi tôi có là - có cách nào để buộc R, chạy lần đầu, qua tập lệnh rảnh tay hoặc chỉ một cài đặt ở đâu đó, để mặc định thư mục của người dùng trên hệ thống lưu trữ gói không? Điều này sẽ ngăn cản tôi phải cấp cho tất cả người dùng quyền truy cập để đọc và ghi vào thư mục R và sẽ có ít khả năng thay đổi hơn vì họ sẽ không thực sự có lựa chọn thay đổi nó. Nếu tôi phải tiếp tục cho phép trong thư mục đó, tôi có thể, nhưng tôi không muốn.

Cảm ơn!

+0

Tôi khuyên bạn nên đọc '? Startup' và' .libPaths' để có danh sách đầy đủ các tùy chọn khả dụng. – hadley

Trả lời

1

Tôi không thể kiểm tra điều này ngay bây giờ, nhưng tôi tin rằng bạn có thể thêm một cái gì đó như Sys.setenv(R_LIBS_USER=path.expand('~\R\library')) vào tệp Rprofile.site được tìm thấy trong thư mục R etc.

+1

Dễ dàng đặt nó thành «R_LIBS_USER = ....' trong Renvironmen.site; bạn cũng có thể làm 'R_LIBS_SITE' mà có thể là những gì OP * thực sự * sau. –

1

Chỉnh sửa tập tin .Renviron của bạn để thiết lập đường dẫn mặc định:

# .Renviron file 
R_LIBS = '~/.R/library' 
+1

Câu hỏi đặt ra là vị trí thư viện mặc định chứ không phải repos. –

+0

@mplourde Kỹ năng đọc của tôi để lại nhiều thứ để mong muốn vào thứ Sáu. –

+0

+1 cho .Renviron. Không biết có một thứ như vậy. –

0

... để mặc định vào thư mục của người dùng trên hệ thống để lưu trữ gói ... '

cách khác , đặc biệt nếu bạn muốn cài đặt khác nhau cho nhân viên/sinh viên sẽ là sử dụng chính sách nhóm để đặt biến môi trường cho các máy/người dùng được chọn khi đăng nhập.

ví dụ: tương đương với ...

SETX "R_LIBS" "\\fileserver2/department_shared/public/r/packages" 

bạn có thể dễ dàng kiểm tra nếu điều này đã làm việc bằng cách bắt đầu R và cố gắng

Sys.getenv("R_LIBS") 

cũng có, lệnh này sau đó có thể hiển thị cho bạn những gì gói được cài đặt:

rownames(installed.packages()) 
Các vấn đề liên quan