So beheben sie das problem in r: plot.new wurde noch nicht aufgerufen


Ein Fehler, der bei der Verwendung von R auftreten kann, ist:

 Error in plot.xy(xy.coords(x, y), type = type, ...): 
  plot.new has not been called yet

Dieser Fehler tritt auf, wenn Sie versuchen, eine Aktion auszuführen, die erfordert, dass in R bereits ein Plot vorhanden ist, aber kein Plot vorhanden ist.

Die folgenden Beispiele zeigen, wie dieser Fehler in der Praxis behoben werden kann.

Beispiel 1: So beheben Sie den Fehler mitlines()

Angenommen, wir versuchen, eine angepasste Regressionslinie in R zu zeichnen:

 #createdata
df <- data. frame (x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))

#fit polynomial regression model
model <- lm(y~poly(x, 2), data=df)

#define new sequence of x-values
new_x <- seq(min(df$x), max(df$y))

#attempt to plot fitted regression line
lines(new_x, predict(model, newdata = data. frame (x=new_x))) 

Error in plot.xy(xy.coords(x, y), type = type, ...): 
  plot.new has not been called yet

Wir erhalten eine Fehlermeldung, da wir die Funktion „lines()“ nicht verwenden können, ohne zuvor einen Pfad in R zu erstellen.

Um diesen Fehler zu beheben, können wir zunächst ein Streudiagramm erstellen und dann die Funktionlines () verwenden:

 #create data
df <- data. frame (x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))

#fit polynomial regression model
model <- lm(y~poly(x, 2), data=df)

#define new sequence of x-values
new_x <- seq(min(df$x), max(df$y))

#create scatterplot of x vs. y values
plot(y~x, data=df)

#attempt to plot fitted regression line
lines(new_x, predict(model, newdata = data. frame (x=new_x))) 

Beachten Sie, dass wir keine Fehlermeldung erhalten, da wir zuerst die Funktion plot() und dann die Funktionlines () verwendet haben.

Beispiel 2: So korrigieren Sie einen Fehler mit abline()

Angenommen, wir versuchen, ein Streudiagramm mit einer geraden horizontalen Linie in R zu erstellen:

 #create data
df <- data. frame (x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))

#attempt to add horizontal line at y=10
abline(a=10, b=0, lwd=2)

Error in plot.xy(xy.coords(x, y), type = type, ...):
  plot.new has not been called yet

Wir erhalten eine Fehlermeldung, da wir die Funktion abline() nicht verwenden können, ohne zuvor einen Plot in R zu erstellen.

Um diesen Fehler zu beheben, können wir zunächst ein Streudiagramm erstellen und dann die Funktion abline() verwenden:

 #createdata
df <- data. frame (x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))

#create scatterplot of x vs. y
plot(y~x, data=df)

#add horizontal line at y=10
abline(a=10, b=0, lwd=2)

Beachten Sie, dass wir keine Fehlermeldung erhalten, da wir zuerst die Funktion plot() und dann die Funktion abline() verwendet haben.

Verwandt: So verwenden Sie aline() in R, um gerade Linien zu Pfaden hinzuzufügen

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Fehler in R beheben können:

So beheben Sie in R: unerwartete Zeichenfolgenkonstante
So beheben Sie in R: Ungültige Vorlagenformel in ExtractVars
So beheben Sie das Problem in R: Das Argument ist weder numerisch noch logisch: Geben Sie na zurück

Einen Kommentar hinzufügen

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