47 Yaygın hatalar
Bu sayfa, sık karşılaşılan hataların bir listesini içerir ve bunları gidermek için çözümler önerir.
47.1 Hata mesajlarını yorumlama
R hataları bazen şifreli olabilir, bu nedenle Google sizin arkadaşınızdır. Hata mesajını “R” ile arayın ve StackExchange.com, stackoverflow.com, community.rstudio.com twitter (#rstats) ve programcılar tarafından soru ve cevapları dosyalamak için kullanılan diğer forumlar içindeki son gönderileri arayın. Benzer sorunları çözen son gönderileri bulmaya çalışın.
Çok fazla arama yaptıktan sonra sorununuza bir yanıt bulamıyorsanız, tekrarlanabilir bir örnek (“reprex”) oluşturmayı ve soruyu kendiniz göndermeyi düşünün. Tekrarlanabilir bir örneğin nasıl oluşturulacağı ve forumlara nasıl gönderileceğiyle ilgili ipuçları için [Yardım alma] hakkındaki sayfaya bakabilirsiniz.
47.2 Yaygın hatalar
Aşağıda, bazı yaygın hataları ve olası açıklamaları/çözümleri listeliyoruz. Bunlardan bazıları, Stack Overflow’ta R hata mesajları hakkında en yaygın forum gönderilerini analiz eden Noam Ross’tan ödünç alınmıştır (analiz için buraya bakın /stack-overflow-common-r-errors.md))
Yazım hataları
Error: unexpected symbol in:
" geom_histogram(stat = "identity")+
tidyquant::geom_ma(n=7, size = 2, color = "red" lty"
“Beklenmeyen simge” görürseniz, eksik virgül olup olmadığını kontrol edin
Paket hataları
could not find function "x"...
Bu muhtemelen fonksiyon adını yanlış yazdığınız veya bir paketi yüklemeyi unuttuğunuz anlamına gelir.
Error in select(data, var) : unused argument (var)
‘dplyr::select()’ kullandığınızı düşünüyorsunuz, ancak ‘select()’ fonksiyonu ‘MASS::select()’, ‘dplyr::’ belirten veya dplyr için paketinizi yeniden sipariş eden tarafından maskelenmiştir.
Diğer yaygın maskeleme hataları şunlardan kaynaklanır: “plyr::summarise()” ve “stats::filter()”. Çatışmalı paketi kullanmayı düşünün.
Error in install.packages : ERROR: failed to lock directory ‘C:\Users\Name\Documents\R\win-library\4.0’ for modifying
Try removing ‘C:\Users\Name\Documents\R\win-library\4.0/00LOCK’
Bir “00LOCK” dosyasını kaldırmanız gerektiğini söyleyen bir hata alırsanız, bilgisayar dizininizdeki “R” kitaplığınıza gidin (örn. R/win-library/) ve “00LOCK” adlı bir klasör arayın. Bunu manuel olarak silin ve paketi yeniden yüklemeyi deneyin. Daha önceki bir yükleme işlemi muhtemelen kesintiye uğramıştır ve bu duruma yol açmıştır.
Nesne hataları
No such file or directory:
Dışa veya içe aktarmaya çalıştığınızda böyle bir hata görürseniz: Dosyanın ve dosya yolunun yazımını kontrol edin ve yol eğik çizgi içeriyorsa bunların ileri /
olduğundan ve geriye doğru değil \
olduğundan emin olun. Ayrıca doğru dosya uzantısını (ör. .csv, .xlsx) kullandığınızdan emin olun.
object 'x' not found
Bu, başvurduğunuz bir nesnenin mevcut olmadığı anlamına gelir. Belki yukarıdaki kod düzgün çalışmamıştır?
Error in 'x': subscript out of bounds
Bu, orada olmayan bir şeye (bir vektörün veya bir listenin öğesi) erişmeye çalıştığınız anlamına gelir.
Fonksiyon sözdizimi hataları
# mutate(x = recode(x, OLD= NEW) içindeki x değişkenini yeniden belirtmek için kodu tekrarlayın
Error: Problem with `mutate()` input `hospital`.
x argument ".x" is missing, with no default
i Input `hospital` is `recode(...)`.
Sütunun adını ilk değişken olarak sağlamanızı beklediği yerde “recode()” veya “replace_na()” gibi bir fonksiyon sağlıyorsanız, yukarıdaki bu hata (“değişken .x eksik, varsayılan yok”) “mutate()”de yaygındır. Bunu unutmak kolaydır.
Mantık hataları
Error in if
Bu, muhtemelen DOĞRU veya YANLIŞ olmayan bir şeye bir “if” ifadesinin uygulandığı anlamına gelir.
Faktör hataları
#Bir faktöre bir değer ("Eksik") eklemeye çalışın (bir faktör üzerinde çalışan replace_na ile)
'age_cat' girişi 'mutate()' ile ilgili sorun olur.
i invalid factor level, NA generated
i Input `age_cat` is `replace_na(age_cat, "Missing")`.invalid factor level, NA generated
Geçersiz faktör seviyeleri hakkında bu hatayı görüyorsanız, muhtemelen bir sınıf Faktör sütununuz (önceden tanımlanmış seviyeleri içeren) var ve ona yeni bir değer eklemeye çalışıyorsunuz. Yeni bir değer eklemeden önce onu Karakter sınıfına dönüştürün.
Çizim hataları
Error: Insufficient values in manual scale. 3 needed but only 2 provided.
ggplot() scale_fill_manual() değerleri = c(“turuncu”, “mor”) … faktör düzeyi sayısı için yetersiz … NA’nın artık bir faktör düzeyi olup olmadığını düşünün…
Can't add x object
Muhtemelen silmeniz gereken bir ggplot komutunun sonunda fazladan bir “+” işaretiniz vardır.
R Markdown hataları
Hata mesajı şöyle bir şey içeriyorsa Error in options[[sprintf("fig.%s", i)]]
, her bir parçanın üstündeki knitr seçeneklerinizin doğru şekilde kullanıldığını kontrol edin. out.width =
veya out.height =
ve not fig.width=
ve fig.height=
.
Çeşitli Konular
Tünellenmiş dplyr fiillerini yeniden düzenlediğinizi ve ortadaki bir tüneli değiştirmediğinizi veya yeniden düzenledikten sonra tüneli sondan çıkarmadığınızı düşünün.
47.3 Kaynaklar
Bu bölüm, [yeni başlayanların karşılaştığı yaygın R programlama hatalarını] listeleyen başka bir blog gönderisidir(https://www.r-bloggers.com/2016/06/common-r-programming-errors-faced-by-beginners/)