2011-04-21 29 views
7

Hızlı soru. Csv dosyasını data değişkenine okudum. Sayısal değerleri olan bir sütun etiketi var vardır. Standart sapmayı çalıştırdığımda "NA" alınıyor

Ben komutunu

sd(data$var) 

çalıştırmak

Ben
[1] NA 

yerine benim standart sapması

olsun.

Neyi yanlış yaptığımı bulmama yardım eder misiniz?

cevap

22

sd(data$var, na.rm=TRUE)'u deneyin ve sütun varlığındaki tüm NA'lar yoksayılır. Ayrıca NA'ların NA'lar olması ve hatalarda okumadığından emin olmak için verilerinizi kontrol etmek için ödeme yapacak, head(data), tail(data) ve str(data) gibi komutlar bu konuda yardımcı olmalıdır.

+0

Tam olarak öyle. Teşekkür ederim! – evt

+3

Bu tür hata ayıklama görevleri için yararlı bulduğum için cevabınıza str() 'ekledim, ancak kendi yanıtını gerektirdiğini hissetmedim. Umarım sakıncası yok, geri çekilmek için çekinmeyin. – Chase

+2

'özeti (veri)' muhtemelen veride “NA” olup olmadığını görmenin en kolay yoludur. –

5

var'da eksik değerleriniz olabilir veya sütun sayısal değil ya da yalnızca bir satır var.

ilk vaka için yardımcı olacaktır eksik değerleri kaldırmayı deneyin:

class(dat$var) 

"sayısal" (ikinci harf) olduğunu kontrol edin ve o,

sd(dat$var, na.rm = TRUE) 

Bu işe yaramazsa 'den büyüktür (üçüncü durum).

Son olarak, data R işlevinin bir işlevidir, bu yüzden burada yaptığım farklı bir ad kullanmak en iyisidir.