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.