R hatası nasıl düzeltilir: sürekli ölçekte sağlanan ayrık değer


R’de karşılaşabileceğiniz bir hata:

 Error: Discrete value supplied to continuous scale

Bu hata, ggplot2’deki bir eksene sürekli ölçek uygulamaya çalıştığınızda, o eksendeki değişken sayısal 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 veri çerçevesine sahip olduğumuzu varsayalım:

 #create data frame
df = data. frame (x = 1:12,
                y = rep(c('1', '2', '3', '4'), times= 3 ))

#view data frame
df

    xy
1 1 1
2 2 2
3 3 3
4 4 4
5 5 1
6 6 2
7 7 3
8 8 4
9 9 1
10 10 2
11 11 3
12 12 4

Şimdi, Scale_y_continuous() argümanını kullanarak özel y ekseni ölçeğine sahip bir dağılım grafiği oluşturmaya çalıştığımızı varsayalım:

 library (ggplot2)

#attempt to create scatterplot with custom y-axis scale
ggplot(df, aes (x, y)) +
  geom_point() +
  scale_y_continuous(limits = c(0, 10))

Error: Discrete value supplied to continuous scale

Y ekseni değişkenimiz sayısal değişken yerine karakter olduğu için hata alıyoruz.

Bunu class( ) fonksiyonunu kullanarak doğrulayabiliriz:

 #check class of y variable
class(df$y)

[1] “character”

Hata nasıl düzeltilir?

Bu hatayı düzeltmenin en kolay yolu, dağılım grafiğini oluşturmadan önce Y ekseni değişkenini sayısal bir değişkene dönüştürmektir:

 library (ggplot2) 

#convert y variable to numeric
df$y <- as. numeric (df$y)

#create scatterplot with custom y-axis scale
ggplot(df, aes (x, y)) +
  geom_point() +
  scale_y_continuous(limits = c(0, 10))

Scale_y_continuous() yöntemini karakter değişkeni yerine sayısal değişkenle kullandığımız için herhangi bir hata almadığımızı unutmayın.

Scale_y_continuous() işlevine ilişkin çevrimiçi belgelerin tamamını burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimlerde ggplot2’de diğer genel çizim işlevlerinin nasıl gerçekleştirileceği açıklanmaktadır:

Ggplot2’de eksen sonları nasıl ayarlanır
Ggplot2’de eksen etiketleri nasıl kaldırılır
Ggplot2’de eksen etiketleri nasıl döndürülür

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir