Me encontré con esto por accidente y no tengo idea de lo que está pasando. ¿Alguien puede explicar esto?

plot(iris$Petal.Length,iris$foobar)

Produce esto:

enter image description here

Aunque no hay iris$foobar, o incluso solo un objeto foobar. ¿De dónde provienen estos datos del eje y? Encontré esto con otro data.frame, por lo que no es exclusivo de iris (de hecho, lo probé en iris para ver si había algo mal con mi otro data.frame). ¿Y cómo es que el eje x está etiquetado como "Índice"?

Datos de la versión: plataforma x86_64-w64-mingw32
arco x86_64
os mingw32
sistema x86_64, mingw32
estado
mayor 3
menor 4,3
año 2017
mes 11
día 30
svn rev 73796
idioma R
version.string R versión 3.4.3 (2017-11-30) apodo árbol come cometas

loadedNamespaces()
 [1] "Rcpp"         "HistData"     "bindr"        "magrittr"    
 [5] "grDevices"    "tidyselect"   "munsell"      "wordcloud"   
 [9] "colorspace"   "R6"           "rlang"        "stringr"     
[13] "plyr"         "dplyr"        "tools"        "utils"       
[17] "grid"         "gtable"       "stats"        "datasets"    
[21] "yaml"         "lazyeval"     "assertthat"   "tibble"      
[25] "base"         "bindrcpp"     "purrr"        "RColorBrewer"
[29] "ggplot2"      "tidyr"        "graphics"     "glue"        
[33] "slam"         "stringi"      "compiler"     "pillar"      
[37] "methods"      "scales"       "lubridate"    "pkgconfig"   
[41] "Cairo" 
0
iod 16 oct. 2018 a las 17:14

2 respuestas

La mejor respuesta

d$foobar está siendo ignorado por plot(), porque iris$foobar es NULL.

Es simplemente trazar la longitud del pétalo, con el índice en el eje x.

Compare con plot(iris$Petal.Length) o plot(iris$Petal.Length, NULL).

1
bobbel 16 oct. 2018 a las 14:20

Para mí, parece que no hay foobar en un data.frame, ya que obtienes el mismo gráfico cuando solo llamas a plot(iris$Petal.Length). Dado que el segundo argumento es nulo is.null(iris$foobar), simplemente se ignorará ...

0
HolgerBarlt 16 oct. 2018 a las 14:20