2011-01-28 23 views
16

Tôi có phần hiển thị NA, nhưng tôi không thể tìm ra.Làm cách nào để hiển thị các chỉ mục của các Quốc gia?

try(na.fail(x)) 
> Error in na.fail.default(x) : missing values in object 
# display NAs 
myvector[is.na(x)] 
# returns 
NA NA NA NA 

Điều duy nhất tôi nhận được từ chiều dài của véc tơ NA, điều này thực sự không hữu ích khi các NA gây ra bởi lỗi trong mã của tôi mà tôi đang cố gắng theo dõi. Làm cách nào tôi có thể nhận được chỉ mục của phần tử NA?

Tôi cũng đã cố gắng:

subset(x,is.na(x)) 

trong đó có tác dụng tương tự.

EDIT:

y <- complete.cases(x) 
x[!y] 
# just returns another 
NA NA NA NA 
+0

Nhưng tại sao chỉ số số lại hữu ích hơn các chỉ số hợp lý? – Marek

+0

@Marek, tôi đang tải một số tập dữ liệu vào R, chạy một hàm trên df. Kết quả là một số NA được giới thiệu do bị ép buộc. Chức năng này hoạt động ... vì vậy rõ ràng là đã xảy ra sự cố với tệp đã nhập. Kể từ khi tập tin là khá lớn và tôi không biết nơi để tìm kiếm tôi tìm kiếm một proxy cho linenumbers :) –

Trả lời

29

Bạn muốn mà chức năng:

which(is.na(arr)) 
+0

Chúa Giêsu. Đây chính là nó. Cảm ơn Jivlain. Nếu đó là phần nào đó của phần Xem thêm của is.na, nó sẽ tiết kiệm được một hoặc hai giờ. Cảm ơn người đàn ông! –

1

is.na() sẽ trả về một chỉ số boolean của cùng hình dạng như khung dữ liệu gốc.

Nói cách khác, bất kỳ ô nào trong chỉ mục m x ​​n đó có giá trị TRUE tương ứng với giá trị NA trong khung dữ liệu gốc.

Bạn họ có thể sử dụng để thay đổi Nas, nếu bạn muốn:

DF[is.na(DF)] = 999 

Để có được tổng số hàng dữ liệu với ít nhất một NA:

cc = complete.cases(DF) 
num_missing = nrow(DF) - sum(ok) 
+0

thx, cho câu trả lời. Thật không may là không bao gồm vấn đề của tôi được nêu ra. Các NA đã được giới thiệu bởi cưỡng chế trong trường hợp của tôi (vì một số vấn đề với một chức năng custon). Vì vậy, tôi muốn biết những dòng đó là những dòng NA. Có 4 NA trong số 100K + dòng và muốn biết cái nào. –

0

(Dataset $ variable == "") sẽ trả về số hàng tương ứng trong một cột cụ thể

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