2013-04-26 30 views
9

Có cách nào cho cửa sổ hội thoại bật lên sau khi file.choose() được chạy để hiển thị tiêu đề tùy chỉnh, tương tự như X <- menu(files, graphics=TRUE, title="Choose file X") không?r - file.choose() tùy chỉnh cửa sổ hội thoại

Hiện tại, mã của tôi yêu cầu tải một số tệp.

X <- read.csv(file.choose()) 
Y <- read.csv(file.choose()) 
Z <- read.csv(file.choose()) 

Hiện tại, tôi chỉ sử dụng bộ nhớ của con người để chọn cửa sổ đầu tiên, cửa sổ thứ hai và cửa sổ thứ ba, nhưng tôi muốn cửa sổ hiển thị đối tượng XY hoặc Z tệp cửa sổ hiện tại sẽ được nhập vào. Tôi có thể di chuyển cửa sổ sang một bên để xem dòng mã giao diện điều khiển là gì, nhưng điều đó có vẻ khá không phù hợp.

Tôi đã thử ví dụ X <- read.csv(file.choose(new=c("Choose X"))) nhưng điều đó dường như không làm gì cả.

Trả lời

6

Một thay thế:

library(tcltk) 
X <- read.csv(tk_choose.files(caption = "Choose X")) 

Thấy rằng các chức năng cũng có thể được sử dụng để chọn nhiều file trong một cuộc gọi. Đối với điều đó, giữ CTRL khi chọn nhiều hơn một tệp:

XYZ.list <- lapply(tk_choose.files(caption = "Choose X, Y, and Z"), read.csv) 

nhưng thứ tự lựa chọn không được giữ để bạn có thể muốn giữ ba cuộc gọi riêng biệt nếu hoạt động tốt hơn cho bạn.

3

Bạn có thể sử dụng choose.files, cho phép tiêu đề tùy chỉnh và cũng tên tập tin mặc định (default), loại tập tin lọc (filters) và lựa chọn multifile (multi):

choose.files(default = "", caption = "Select files", 
      multi = TRUE, filters = Filters, 
      index = nrow(Filters)) 

kiểm tra sự giúp đỡ choose.files ;)

+5

Windows dành riêng ... –

Các vấn đề liên quan