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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert