2015-10-02 14 views
9

Gần đây tôi đã cập nhật để data.table 1.9.6 và nhận được lỗi sau khi sử dụng fread:Lỗi trong R data.table v1.9.6 - chức năng "fread"

fread("Aug14.csv") 
Error in fread("Aug14.csv") : 
    4 arguments passed to .Internal(nchar) which requires 3 

bài khác thảo luận về lỗi này trong một bối cảnh, nhưng điều này làm việc tốt trước khi nâng cấp lên data.table 1.9.6. Lời khuyên nào?

Dưới đây là bộ của tôi lên:

sessionInfo() 
R version 3.2.0 (2015-04-16) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 
Running under: Windows 7 x64 (build 7601) Service Pack 1 

locale: 
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252 
[4] LC_NUMERIC=C       LC_TIME=English_United States.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] data.table_1.9.6 Matrix_1.2-2  

loaded via a namespace (and not attached): 
[1] modeltools_0.2-21 tools_3.2.0  splines_3.2.0  grid_3.2.0  chron_2.3-47  stats4_3.2.0  lattice_0.20-33 
+3

Một trong các đồng nghiệp của tôi đã nhìn thấy lỗi này sau khi cập nhật dữ liệu. Nó đã được sửa chữa bằng cách cập nhật R. Tôi có lẽ nên báo cáo nó, nhưng không có thời gian để điều tra. – Roland

+0

Ok @Roland tốt - Tôi rất vui vì ai đó đang thấy điều này - vấn đề của tôi là tôi không thể cập nhật R đủ nhanh (chính sách CNTT - arrrgh!) Vì vậy tôi đã hy vọng có một số soution khác. – user2642948

+1

@ user2642948 Bạn không cung cấp ví dụ tái sản xuất. Cũng xin vui lòng cập nhật tiêu đề của câu hỏi của bạn chỉ ít nhất là tên chức năng mà bạn đang hỏi về. Bằng cách này, bạn có thể dễ dàng tìm thấy bất kỳ tìm kiếm nào trong tương lai. – jangorecki

Trả lời

15

Điều này dường như là một vấn đề rộng lớn hơn ảnh hưởng đến gói khác quá và một cái gì đó tương tự đã được nâng lên trên r-devel đây:

http://r.789695.n4.nabble.com/Error-generated-by-Internal-nchar-disappears-when-debugging-td4713138.html

Nếu tôi hiểu đúng, CRAN cung cấp một nhị phân Windows cho chuỗi R 3.2. *. Tôi đoán nhị phân này được xây dựng bằng cách sử dụng phiên bản mới nhất của R trong chuỗi đó, hiện tại R 3.2.2. Như Andriy T. đã chỉ ra trong một chú thích here, hàm R cơ bản nchar đạt được một đối số bổ sung trong R 3.2.1. Vì data.table sử dụng hàm R nchar và nó đặt ByteCompile:TRUE trong tệp DESCRIPTION của nó, gói nhị phân CRAN cho Windows dường như không tương thích với R 3.2.0. Tôi đoán các thay đổi không tương thích nhị phân với bản thân R được cho là chỉ được thực hiện cho phiên bản .0 vì lý do này, nhưng tôi không chắc chắn về điều đó. Trường hợp gói được biên dịch khi cài đặt (ví dụ: Ubuntu), đây không phải là vấn đề.

Nếu bạn đang sử dụng R < 3.2.0 trên mọi nền tảng, không có vấn đề gì.

Nếu bạn đang sử dụng R> = 3.2.1 trên nền tảng bất kỳ, không có vấn đề gì.

Nếu bạn đang sử dụng R 3.2.0 trên Windows và cài đặt tệp nhị phân .zip từ CRAN (nghĩa là phương pháp mặc định) thì bạn cần nâng cấp lên R> = 3.2.1 hoặc xây dựng dữ liệu. (và có thể là bất kỳ gói nào khác sử dụng nchar cũng tự mình đặt ByteCompile:TRUE) bằng cách sử dụng Rtools.

+1

a-ha! Cảm ơn rất nhiều vì đã theo dõi - tôi đã không thể quay lại điều này cho đến ngày hôm nay; nâng cấp lên R 3.2.2 và bây giờ tôi trở lại data.table goodness. Tốt để biết 'nchar' đã thay đổi quá .. Tôi sử dụng chức năng đó một chút ... Thx! – user2642948

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