2013-05-20 21 views
5

Lỗi dưới đây tiếp tục không nhất quán khi tôi cố gắng đọc các tệp excel vào R bằng gói 'XLConnect'.Lỗi trong ls (envir = envir, all.names = private)?

Error in ls(envir = envir, all.names = private) : 
invalid 'envir' argument 

Tôi thực sự gặp lỗi này trong khi thậm chí sử dụng các gói khác đọc tệp excel như gói 'xlsx' và 'xlsReadWrite'. Nhiều lần khởi động lại phiên R giải quyết vấn đề này, điều này khiến tôi nghĩ rằng điều gì đó khác mà tôi đang làm trong phiên R đang thay đổi môi trường và không cho phép tôi tải các tệp excel nữa. Dưới đây là ví dụ về mã mới nhất gây ra lỗi này. Trong trường hợp này tôi biết rằng chuỗi mã hóa sau đây đang gây ra lỗi xuất hiện - nhưng tại sao điều đó lại xảy ra? Và làm thế nào tôi có thể vượt qua lỗi này nếu tôi cần gói chron.

library("XLConnect") 
wb2 <- loadWorkbook("excel_file", create = FALSE) 
library(chron) 
wb2 <- loadWorkbook("excel_file", create = FALSE) 

Bất cứ ai khác gặp sự cố này trước đây? Bất kỳ trợ giúp về vấn đề này được đánh giá rất nhiều!

+0

Bạn có thể đặt 'tùy chọn (lỗi = utils :: khôi phục)' để gỡ lỗi. – flodel

Trả lời

1

Trước khi mở lại workbook hãy thử gỡ bỏ tham chiếu đến trước mở một, vì vậy: rm (WB2) WB2 < - loadWorkbook ("excel_file", tạo = FALSE)

Ngoài ra, hãy chắc chắn rằng "excel_file" không mở bằng excel hoặc bất kỳ chương trình nào khác trong khi bạn chạy thử nghiệm R.

Tôi đã thấy lỗi tương tự xuất hiện khi sử dụng XLConnect và ở trên dường như có ích.

1

Đã xảy ra sự cố này một vài lần và ngăn xếp cuộc gọi trông giống như thông báo này được tạo khi ngoại lệ "OutOfMemory" bị ném.

Để giải quyết vấn đề này tôi đã sử dụng:

options(java.parameters = "-Xmx4g")

để tăng kích thước đống rJava có thể sử dụng.

Gỡ lỗi với options(error=utils::recover) đã giúp ích rất nhiều, vì các thông báo lỗi R không phải là rất cụ thể.

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