2013-05-26 5 views
8

Öğrettiğim istatistik sınıfının eksik verileriyle nasıl baş edeceğine dair örnekler üretmek için R kullanıyorum. Bir yöntem, eksik değerler içeren vakalar için 0 ve eksik değerleri olmayan bir "eksik değerler ikili değişkeni" oluşturmayı gerektirir. R-"eksik değerler değişkeni" oluştur

n X Y Z 
1 4 300 2 
2 8 400 4 
3 10 500 7 
4 18 NA 10 
5 20 50 NA 
6 NA 1000 5 

Örneğin

ben

n m 
1 1 
2 1 
3 1 
4 0 
5 0 
6 0 

Kayıp değerleri ele R'ın kabiliyeti göz önüne alındığında, bu basit olmalıdır görünüyor ki böyle bir değişken M oluşturmak istiyoruz. Bulduğum en yakın m <-ifelse(is.na(missguns),0,1)'dur, ancak tüm bunlar 0 veya 1 eksikliğini gösteren yeni bir veri matrisi oluşturur. Ancak, bir satır eksik değerler içeriyorsa sadece bir değişken istiyorum.

cevap

9

complete.cases istediğini tam olarak yapar.

complete.cases(x) 
## [1] TRUE TRUE TRUE FALSE FALSE FALSE 
Sen, sayısal veya tamsayı için zorlamak yapabilirsiniz

:

as.integer(complete.cases(x)) 
## [1] 1 1 1 0 0 0 
+0

teşekkür-trick yaptı! Bir güncelleme gibi, Rubin'in t-testini uyguluyordum. İşte oluşturduğum kod. Veri kümesi "missguns" ("guns" veri kümesidir, ancak eksik değerleri dahil ettim) ve değişkenlerden biri "kentsel" dir. eksik <-as.integer (complete.cases (missguns)) pratiği <-cbind (missguns, eksik) eksik <-practice [uygulama $ eksik == 0,] tamamlandı <-practice [practice $ missing == 1 ,] t.test ($ kentsel, eksik $ kentsel) –