2014-04-13 13 views
6

Tôi nhận được lỗi sau:Issue với complete.cases

Error in complete.cases(dt) : invalid 'type' (list) of argument 

Chưa bao giờ thông điệp này trước khi sử dụng complete.cases trên một khung dữ liệu.

Cuộc gọi đến class(dt) trả về data.frame, vì vậy, không có vấn đề gì ở đó.

dt tương đối lớn - 800.000 lượt theo dõi 90 biến.

Các hoạt động tương tự trên các khung dữ liệu khác không có vấn đề gì.

Bất kỳ ai biết điều gì có thể là vấn đề?

+2

Vui lòng đọc [cách tạo ví dụ tái tạo tuyệt vời] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) – hrbrmstr

+3

Ngoài ra, hãy thử thực hiện một ' str (dt) '. Nếu một trong các cột của bạn chứa các đối tượng 'list',' complete.cases' sẽ không hoạt động. – hrbrmstr

+0

@hrbrmstr vui lòng thêm nhận xét này làm câu trả lời. Tôi đã gặp vấn đề tương tự, và như bạn đã chỉ ra, tôi đã liệt kê các đối tượng trong data.frame. – zx8754

Trả lời

5

Tôi cũng gặp phải sự cố tương tự. Như @hrbrmstr đã chỉ ra một cách chính xác, data.frame có các đối tượng danh sách. Trong trường hợp của tôi nó là một data.frame của danh sách.
tôi chuyển đổi data.frame danh sách vào một khung dữ liệu thực tế bằng cách sử dụng lệnh sau:

DF <- data.frame(matrix(unlist(DF), nrow=nrow(DF)),stringsAsFactors=FALSE) 

Sử dụng complete.cases về vấn đề này làm việc ra.