2011-12-09 15 views
6

Gelecek iadeleri içeren bir X vektörüne sahibim ve X vektörü geçerli döndürmeler içeriyor. Son Y elementi NA'dır, son akım dönüşü de mevcut dizinin sonudur.NA'nın bir lm regresyonu olarak kullanılmasını önleyin

X = { 0.1, 0.3, 0.2, 0.5 } 
Y = { 0.3, 0.2, 0.5, NA } 
Other = { 5500, 222, 523, 3677 } 

lm(Y ~ X + Other) 

Her serinin son öğe regresyona dahil değildir olduğundan emin olmak istiyorum. Na.action belgelerini okudum ancak bu varsayılan davranış olup olmadığını net değil.

cor() için, X [4] ve Y [4] hesaplarını hesaplamadan çıkarmak için doğru çözüm bu mu?

cor(X, Y, use = "pairwise.complete.obs") 

cevap

8

lm için fabrika taze varsayılan NA değerleri içeren gözlemleri göz ardı etmektir.

> summary(lm(Y ~ X + Other, na.action=na.omit)) 

Call: 
lm(formula = Y ~ X + Other, na.action = na.omit) 

[snip] 

    (1 observation deleted due to missingness) 
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

İkinci soruya gelince cor(X,Y,use='pairwise.complete.obs') doğrudur: bu küresel seçenekleri kullanarak geçersiz edilebilir olduğundan, açıkça na.action na.omit ayarlı isteyebilirsiniz. Sadece iki değişken olduğundan, cor(X,Y,use='complete.obs') da beklenen sonucu üretecektir.

+3

Son tümcenin ardındaki nedeni açıklığa kavuşturmak isteyebilirsiniz: yalnızca iki vektör ilişkilendirilmişken, "pairwise.complete.obs" ve "complete.obs" eşdeğerdir. Daha fazla vektörle (yani, bir matristeki tüm sütunların korelasyonlarını alarak), onlar ... –

İlgili konular