Nasıl düzeltilir: xy.coords(x, y, xlabel, ylabel, log) hatası: 'x' ve 'y' uzunlukları farklı
R’de karşılaşabileceğiniz yaygın bir hata:
Error in xy.coords(x, y, xlabel, ylabel, log): 'x' and 'y' lengths differ
Bu hata, iki değişkenin grafiğini oluşturmaya çalıştığınızda ancak değişkenler aynı uzunlukta olmadığında ortaya çıkar.
Bu eğitimde bu hatanın nasıl düzeltileceği tam olarak açıklanmaktadır.
Hata nasıl yeniden oluşturulur?
R’de aşağıdaki iki değişkenin dağılım grafiğini oluşturmaya çalıştığımızı varsayalım:
#define x and y variables x <- c(2, 5, 5, 8) y <- c(22, 28, 32, 35, 40, 41) #attempt to create scatterplot of x vs. y plot(x, y) Error in xy.coords(x, y, xlabel, ylabel, log): 'x' and 'y' lengths differ
X ve y’nin uzunlukları eşit olmadığı için hata alıyoruz.
Bunu her değişkenin uzunluğunu yazdırarak doğrulayabiliriz:
#print length of x length(x) [1] 4 #print length of y length(y) [1] 6 #check if length of x and y are equal length(x) == length(y) [1] FALSE
Hata nasıl düzeltilir?
Bu hatayı düzeltmenin en kolay yolu iki vektörün aynı uzunlukta olmasını sağlamaktır:
#define x and y variables to have same length x <- c(2, 5, 5, 8, 9, 12) y <- c(22, 28, 32, 35, 40, 41) #confirm that x and y are the same length length(x) == length(y) [1] TRUE create scatterplot of x vs. y plot(x, y)
Bir vektör diğerinden daha kısa çıkarsa, değerleri yalnızca daha kısa vektörün uzunluğuna kadar çizmeyi seçebilirsiniz.
Örneğin, xa vektörünün 4 değeri ve y vektörünün 6 değeri varsa, her vektörün yalnızca ilk 4 değerini kullanarak bir dağılım grafiği oluşturabiliriz:
#define x and y variables x <- c(2, 5, 5, 8) y <- c(22, 28, 32, 35, 40, 41) #create scatterplot of first 4 pairwise values of x vs. y plot(x, y[1: length (x)])
Nokta bulutunu oluşturmak için her vektörün yalnızca ilk dört değerinin kullanıldığına dikkat edin.
Ek kaynaklar
R’de nasıl düzeltilir: Zorlamayla ortaya çıkan NA’lar
R’de nasıl onarılır: sınırların dışına çıkma ipucu
“Daha uzun nesne uzunluğu, daha kısa nesne uzunluğunun katı değildir” sorununu düzeltme