So beheben sie den r-fehler: diskreter wert auf kontinuierlicher skala bereitgestellt
Ein Fehler, der in R auftreten kann, ist:
Error: Discrete value supplied to continuous scale
Dieser Fehler tritt auf, wenn Sie versuchen, eine kontinuierliche Skalierung auf eine Achse in ggplot2 anzuwenden, wenn die Variable auf dieser Achse nicht numerisch ist.
In diesem Tutorial wird genau erklärt, wie Sie diesen Fehler beheben können.
So reproduzieren Sie den Fehler
Angenommen, wir haben den folgenden Datenrahmen in R:
#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
Nehmen wir nun an, wir versuchen, mithilfe des Arguments „scale_y_continuous()“ ein Streudiagramm mit einer benutzerdefinierten Y-Achsenskala zu erstellen:
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
Wir erhalten eine Fehlermeldung, weil unsere Y-Achsenvariable ein Zeichen und keine numerische Variable ist.
Wir können dies mit der Funktion class( ) bestätigen:
#check class of y variable
class(df$y)
[1] “character”
So beheben Sie den Fehler
Der einfachste Weg, diesen Fehler zu beheben, besteht darin, die Y-Achsenvariable vor dem Erstellen des Streudiagramms in eine numerische Variable umzuwandeln:
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))
Beachten Sie, dass wir keine Fehlermeldungen erhalten, da wir „scale_y_continuous()“ mit einer numerischen Variablen anstelle einer Zeichenvariablen verwendet haben.
Die vollständige Online-Dokumentation für die Funktion „scale_y_continuous()“ finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere gängige Plotfunktionen in ggplot2 ausführen:
So legen Sie Achsenumbrüche in ggplot2 fest
So entfernen Sie Achsenbeschriftungen in ggplot2
So drehen Sie Achsenbeschriftungen in ggplot2