R'de nasıl düzeltilir: doğru/yanlışın gerekli olduğu yerde eksik değer
R’de karşılaşabileceğiniz bir hata:
Error in if (x[i] == NA) {: missing value where TRUE/FALSE needed
Bu hata, x == NA sözdizimini kullanarak R’deki bir if ifadesindeki bir değeri NA ile karşılaştırdığınızda ortaya çıkar.
Bir if ifadesi DOĞRU veya YANLIŞ değerini bekler; dolayısıyla bu işlev her zaman DOĞRU veya YANLIŞ değerini döndürdüğü için bunun yerine is.na(x) kullanmalısınız.
Hata nasıl yeniden oluşturulur?
Diyelim ki, R’deki bir vektördeki değerler listesini yinelemeye çalışıyoruz ve vektörde bir NA değeri her olduğunda “eksik” kelimesini yazdırmaya çalışıyoruz:
#define vector with some missing values x <- c(2, NA, 5, 6, NA, 15, 19) #loop through vector and print "missing" each time an NA value is encountered for (i in 1:length(x)) { if (x[i] == NA) { print(' Missing ') } } Error in if (x[i] == NA) {: missing value where TRUE/FALSE needed
x[i] == NA söz dizimini kullandığımız için hata alıyoruz.
Hata nasıl düzeltilir?
Sözdizimini is.na(x) olarak aşağıdaki gibi değiştirmemiz gerekiyor:
#define vector with some missing values x <- c(2, NA, 5, 6, NA, 15, 19) #loop through vector and print "missing" each time an NA value is encountered for (i in 1:length(x)) { if (is. na (x[i])) { print(' Missing ') } } [1] “Missing” [1] “Missing”
Vektörde bir NA değeriyle karşılaştığımızda hata almadığımızı ve “eksik” kelimesini yazdırabildiğimizi unutmayın.
Ek kaynaklar
Aşağıdaki eğitimlerde R’deki diğer yaygın hataların nasıl düzeltileceği açıklanmaktadır:
Nasıl Düzeltilir: Zorlamanın Getirdiği NA’lar
Nasıl Düzeltilir: Matriste Yanlış Dizin Sayısı
Nasıl onarılır: Değiştirilecek parça sayısı, değiştirme uzunluğunun katı değil