Hata nasıl düzeltilir: "veri" sayısal bir vektör değil, "fortify()" tarafından zorlanabilen bir veri çerçevesi veya başka bir nesne olmalıdır
R’de karşılaşabileceğiniz bir hata:
Error: `data` must be a data frame, or other object coercible by `fortify()`, not a digital vector
Bu hata, bir veri çerçevesindeki değişkenleri çizmek için ggplot2’yi kullanmaya çalıştığınızda, ancak veri bağımsız değişkeni için veri çerçevesi yerine bir vektöre başvurduğunuzda 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=c(1, 2, 3, 4, 5, 6, 7, 8),
y=c(4, 8, 14, 19, 14, 13, 9, 9))
#view data frame
df
xy
1 1 4
2 2 8
3 3 14
4 4 19
5 5 14
6 6 13
7 7 9
8 8 9
Şimdi veri çerçevesindeki x ve y değişkenlerini görselleştirmek için bir dağılım grafiği oluşturmaya çalıştığımızı varsayalım:
library (ggplot2)
#attempt to create scatter plot
ggplot(df$x, aes(x=x, y=y)) +
geom_point()
Error: `data` must be a data frame, or other object coercible by `fortify()`,
not a digital vector
Veri bağımsız değişkeninde veri çerçevesi yerine ggplot() işlevine sayısal bir vektörü ( df$x ) referans verdiğimiz için bir hata alıyoruz.
Hata nasıl düzeltilir?
Bu hatayı düzeltmenin yolu , ggplot() işlevindeki veri argümanı için bir veri çerçevesine referans vermektir.
Örneğimizde veri argümanı için df$x yerine df kullanmalıyız:
library (ggplot2)
#create scatterplot
ggplot(df, aes(x=x, y=y)) +
geom_point()
Bu sefer nokta bulutunu hatasız bir şekilde başarıyla oluşturabildiğimizi unutmayın.
Ek kaynaklar
Aşağıdaki eğitimlerde R’deki diğer yaygın hataların nasıl çözüleceği açıklanmaktadır:
Nasıl düzeltilir: ggplot2 eşit olmayan sınıf verilerinin nasıl işleneceğini bilmiyor
Nasıl düzeltilir: stripchart.default(x1,…) hatası: Geçersiz çizim yöntemi
Nasıl düzeltilir: değerlendirmede hata (predvars, data, env): ‘x’ nesnesi bulunamadı