Tôi gặp phải lỗi này khi tôi sử dụng gói trong R để tải dữ liệu, trong gói này, pakcage rJava
đã được sử dụng.Lỗi trong ls (envir = envir, all.names = private): đối số 'envir' không hợp lệ trong R
Mỗi lần tôi chạy một chức năng, lỗi này là
Error in ls(envir = envir, all.names = private) :
invalid 'envir' argument
Gói này đã được chứng minh không có bất kỳ vấn đề, chỉ cần một số vấn đề môi trường trong máy tính của tôi.
khi tôi sửa lỗi, tôi thấy rằng trong quá trình cuối cùng trước khi ls(envir=envir,all.names = private)
biến envir
là NULL
, mà nên có một số giá trị nhưng không phải là NULL tôi nghĩ.
Sau một số thử nghiệm, tôi đã giải quyết được vấn đề, bằng cách cài đặt rJava
mỗi lần. Và ngoài ra, chỉ khi lỗi xuất hiện, sau đó tôi cài đặt 'rJava', nó sẽ hoạt động. Nếu tôi cài đặt ở lần đầu tiên, nó sẽ không hoạt động. Vì vậy, tôi đoán, cài đặt 'rJava' (hoặc có thể cài đặt gói), sẽ khiến một số biến môi trường thay đổi.
Hoặc Java 7 và Java 8, bao gồm jdk hoặc jre được kiểm tra, không hoạt động. Và đối với R, tôi đang sử dụng 3.1.3 R và tất cả các gói được cập nhật.
Sau đây là một số thông tin mà tôi nghĩ có thể hữu ích cho việc khắc phục sự cố.
Bằng cách cài đặt gói, jvm.dll needs to be added to the windows environment path: "Path"
và tôi đã làm điều đó.
My sessionInfo được hiển thị dưới đây:
R version 3.1.3 (2015-03-09)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
locale:
[1] LC_COLLATE=Danish_Denmark.1252 LC_CTYPE=Danish_Denmark.1252 LC_MONETARY=Danish_Denmark.1252 LC_NUMERIC=C
[5] LC_TIME=Danish_Denmark.1252
attached base packages:
[1] grid stats graphics grDevices utils datasets methods base
other attached packages:
[1] rgdal_0.9-1 fields_8.2-1 spam_1.0-1 raster_2.3-33 sp_1.0-17 ecomsUDG.Raccess_2.2-6
[7] downscaleR_0.5-2 maps_2.3-9 downscaleR.java_0.0-2 rJava_0.9-6 gWidgetsRGtk2_0.0-83 cairoDevice_2.22
[13] RGtk2_2.20.31 gWidgets_0.0-54 R.utils_2.0.0 R.oo_1.19.0 R.methodsS3_1.7.0
loaded via a namespace (and not attached):
[1] abind_1.4-3 bitops_1.0-6 boot_1.3-15 CircStats_0.2-4 colorspace_1.2-6 dtw_1.17-1 lattice_0.20-30 MASS_7.3-39
[9] munsell_0.4.2 plyr_1.8.1 proxy_0.4-14 Rcpp_0.11.5 RCurl_1.95-4.5 scales_0.2.4 tools_3.1.3 verification_1.41
Cảm ơn bạn cho bất kỳ giúp bạn có thể cung cấp.
_Các biến môi trường_ là khái niệm hệ điều hành và chúng có thể được truy cập trong R thông qua 'Sys.getenv' và' Sys.setenv'. Về cơ bản, chúng là bản đồ các tên biến cho các giá trị, ví dụ: 'JAVA_HOME = C: \ Program Files \ Java \ jre6'. Mặt khác, môi trường _R giống như các danh sách ánh xạ các tên tới bất kỳ đối tượng R nào. Xem: http://adv-r.had.co.nz/Environments.html. 'ls()' trả về một vectơ của tất cả các tên trong môi trường R, được xác định bởi đối số 'envir'. Nó không có ý nghĩa để gọi 'ls (envir = NULL)', do đó lỗi của bạn. – logworthy
@logworthy Cảm ơn, nhưng đó không phải là tôi đã gọi .... nó nằm trong gói .... và vấn đề không phải là về việc gọi 'ls()', mà là nó không thể tìm thấy 'envir' hợp lệ ... – 163
bạn nên thêm nhiều thông tin gỡ lỗi hơn. Đọc về gỡ lỗi trong R, ví dụ: tùy chọn sử dụng (error = recovery) được fore chạy mã của bạn để bạn có được một dấu vết stack. –