On Thu, Nov 29, 2018 at 1:10 PM S Ellison <s.elli...@lgcgroup.com> wrote: > > > > > plot(x=1:10, y=) > > > plot(x=1:10, y=, 10:1) > > > > > > In both cases, 'y=' is ignored. In the first, the plot is for y=NULL (so > > > not > > 'missing' y) > > > In the second case, 10:1 is positionally matched to y despite the > > > intervening > > 'missing' 'y=' > > > > > > So it isn't just 'missing'; it's 'not there at all' > > > > What exactly is the difference between "missing" and "not there at all"? > > A "missing argument" in R means that an argument with no default value was > omitted from the call, and that is what I meant by "missing". > But that is not what is happening here. I was talking about "y=" apparently > being treated as not present in the call, rather than the argument y being > treated as a missing argument. > > In these examples, plot.default has a default value for y (NULL) so y can > never be "missing" in the sense of the 'missing argument' error (compare what > happens with plot(y=1:10), which reports x as 'missing'). > In the first example, y was (from the plot behaviour) taken as NULL - the > default - so was not considered a missing argument. In the second, it was > taken as 10:1 - again, non-missing, despite 10:1 being in the normal position > for the (character) argument "type". > But neither call did anything at all with "y=". Instead, the behaviour is > consistent with what would have happened if 'y=' were "not present at all" > when counting position or named argument list, rather than if 'y' were an > absent required argument. > It _looks_ as if the initial call parsing silently ignored the malformed > expression "y=" before any argument matching - positional or by name - takes > place.
Yes, I think all of that is correct. But y _is_ missing in this sense: > debug(plot) > plot(1:10, y=) debugging in: plot(1:10, y = ) debug: UseMethod("plot") Browse[2]> missing(y) [1] TRUE though this does not explain the behavior since > plot( , , "l") debugging in: plot(, , "l") debug: UseMethod("plot") Browse[2]> missing(y) [1] TRUE --Ista > > But I'm thinking that it'll take an R-core guru to explain what's going on > here, so I was going to wait and see. > > Steve Ellison > > > > ******************************************************************* > This email and any attachments are confidential. Any u...{{dropped:8}} ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel