Có cách nào dễ dàng để chỉ liệt kê các thư mục không trống không?Danh sách các thư mục trống rỗng
Tôi biết về list.dirs
nhưng tôi không thể tìm thấy cách chỉ liệt kê các thư mục không trống.
Có cách nào dễ dàng để chỉ liệt kê các thư mục không trống không?Danh sách các thư mục trống rỗng
Tôi biết về list.dirs
nhưng tôi không thể tìm thấy cách chỉ liệt kê các thư mục không trống.
Bạn có thể sử dụng list.files
trên kết quả của list.dirs
:
dirlist <- list.dirs("./R/R-3.3.1/library/zoo")
dirlist [sapply(dirlist, function(x) length(list.files(x))>0)]
Dưới đây là một giải pháp một liner:
nonempty <- list.dirs(recursive=F)[which(lengths(lapply(list.dirs(recursive=F), list.files)) > 0)]
Nhận tên tập tin sau đó trích xuất tên thư mục:
unique(dirname(list.files(full.names = TRUE, recursive = TRUE)))
một dòng nhưng hai lệnh gọi tới 'list.dirs' không nhanh đến vậy ... – HubertL
Đúng - tôi chỉ là microbench đánh dấu nó và lưu trữ 'list.dirs()' không đệ quy trong một biến có nghĩa là ~ 1,8 mili giây cho 100 lần chạy. OP có thể chọn sử dụng hai lớp lót để cải thiện hiệu quả. – Megatron