En este artículo, discutiremos cómo corregir el error «plot.new aún no ha sido llamado» en el lenguaje de programación R.
El compilador de R produce un error de este tipo cuando intentamos realizar una operación que requiere que exista una trama en R pero la trama aún no existe.
Error in plot.xy(xy.coords(x, y), type = type, ...) : plot.new has not been called yet
Método 1: Cómo solucionarlo con la función lines()
Aquí nos centraremos en cómo podemos corregir el error que puede producir el compilador R al tratar con la función lines().
Ejemplo:
Consideremos un ejemplo, tenemos dos vectores que contienen las coordenadas X e Y correspondientes de 12 puntos diferentes. Luego hemos usado la función lines() para dibujar líneas que unen los puntos.
R
# R program to add lines into plots # Constructing coordinate vectors x <- c(1.7, 2.7, 3.7, -3.7, -5.7, 3.7, 5.7, 4.8, 10.3, -12.9, 13.8, 12.3) y <- c(1.2, 2.3, 3.2, -3.5, -3.2, 2.1, 4.7, .8, 1.2, 11.5, 1.3, 3.2) # Trying to draw lines of red colors lines(x, y, col = "red")
Producción:
El compilador de R produce ese error porque no creamos el diagrama antes de usar la función lines(). Podemos corregir este error fácilmente creando un diagrama antes de usar la función lines():
Ejemplo:
Aquí, en este ejemplo, estamos arreglando el error anterior simplemente llamando a la función plot antes de la función lines() para tener una idea de los puntos dados.
R
# R program to add lines into plots # Constructing coordinate vectors x <- c(1.7, 2.7, 3.7, -3.7, -5.7, 3.7, 5.7, 4.8, 10.3, -12.9, 13.8, 12.3) y <- c(1.2, 2.3, 3.2, -3.5, -3.2, 2.1, 4.7, .8, 1.2, 11.5, 1.3, 3.2) # Plotting the graph plot(x, y, cex = 1, pch = 3, xlab ="x", ylab ="y", col ="black") # Trying to draw lines of red colors lines(x, y, col = "red")
Producción:
Esta vez, el programa se compiló con éxito porque creamos el diagrama antes de usar la función lines().
Método 2: Cómo solucionarlo con la función abline():
En esta parte, nos enfocamos en cómo podemos corregir el error que puede producir el compilador R al tratar con la función abline() .
Ejemplo:
Consideremos un ejemplo, tenemos dos vectores que contienen las coordenadas X e Y correspondientes de 12 puntos diferentes. Luego hemos usado la función ablines() para dibujar una línea horizontal en Y = 5.
R
# R program to add a horizontal line # Constructing coordinate vectors x <- c(1.7, 2.7, 3.7, -3.7, -5.7, 3.7, 5.7, 4.8, 10.3, -12.9, 13.8, 12.3) y <- c(1.2, 2.3, 3.2, -3.5, -3.2, 2.1, 4.7, .8, 1.2, 11.5, 1.3, 3.2) # Try to add horizontal line at y=5 abline(a=5, b=0, lwd=3)
Producción:
El compilador de R produce ese error porque no creamos el diagrama antes de usar la función abline(). Podemos corregir este error fácilmente creando un diagrama antes de usar la función abline():
Ejemplo:
Entonces, aquí para resolver el error anterior, estamos llamando a la función plot() antes de la función abline con los parámetros dados, y por esto, el programa se compiló exitosamente sin ningún error.
R
# R program to add a horizontal line # Constructing coordinate vectors x <- c(1.7, 2.7, 3.7, -3.7, -5.7, 3.7, 5.7, 4.8, 10.3, -12.9, 13.8, 12.3) y <- c(1.2, 2.3, 3.2, -3.5, -3.2, 2.1, 4.7, .8, 1.2, 11.5, 1.3, 3.2) # Plotting the graph plot(x, y, cex = 1, pch = 3, xlab ="x", ylab ="y", col ="black") #attempt to add horizontal line at y=5 abline(a=5, b=0, lwd=3)
Producción: