2008/9/23 glaporta <[EMAIL PROTECTED]>:
>
> HI there,
>
> why these lines of code are correct
> plot(count~spray, data = InsectSprays)
> plot(InsectSprays$count)
>
> but this return an error:
> plot(count, data = InsectSprays);
>
> "data" method is not implemented in plot?!

 The 'plot' function, like many functions in R, does different things
depending on what its first parameter is...

 For plot(count~spray, data=InsectSprays) the first parameter is a
formula, so what is really called is 'plot.formula'. This gets the
names from the formula (count~spray) finds them in the 'data'
parameter and does a plot.

 For plot(InsectSprays$count) you've taken the 'count' vector out of
the data frame, so the ordinary plot function is called.

 If you do plot(count, data=InsectSprays), then 'count' here is just a
bare word, so R looks up 'count' as an object, but doesn't find it (as
long as there's no 'count' object in your workspace).

 You can do plot(~count, data=InsectSprays), but you get a slightly
different plot than plot(count$InsectSprays). Compare and contrast the
following:

 > is=data.frame(count=runif(10),spray=runif(10))
 > plot(count,data=is)
 Error in plot(count, data = is) : object "count" not found
 > plot(~count,data=is)
 > plot(count~1,data=is)
 > plot(is$count)

Barry

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to