Случайные данные, добавляемые при использовании `plot` в R

Я случайно наткнулся на это, и я понятия не имею, что происходит. Может кто-нибудь объяснить это?

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

производит это:

введите описание изображения здесь

Даже при том, что нет iris$foobar , или даже просто foobar объект. Откуда берутся данные по оси Y? Я столкнулся с этим с другим data.frame, поэтому это не уникально для радужной оболочки (на самом деле, я попробовал его на радужной оболочке, чтобы увидеть, что что-то не так с моим другим data.frame). И как получилось, что ось х помечена как «Индекс»?

Данные о версии: платформа x86_64-w64-mingw32
arch x86_64
os mingw32
система x86_64, mingw32
статус
майор 3
незначительный 4.3
год 2017
месяц 11
день 30
svn rev 73796
язык R
version.string R версия 3.4.3 (2017-11-30) ник Kite-Eating Tree

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" 

Всего 2 ответа


d$foobar игнорируется plot() , потому что iris$foobar - NULL .

Это просто рисунок длины лепестка, по оси х индекс.

Сравните с plot(iris$Petal.Length) или plot(iris$Petal.Length, NULL) .


Мне кажется, что нет никакого foobar в data.frame, так как вы получаете тот же сюжет, когда только вызываете plot(iris$Petal.Length) . Поскольку второй аргумент равен null is.null(iris$foobar) его просто игнорируют ....


Есть идеи?

10000