Sarah: Note that (as I read them) aggregate() and by() work differently on data frames. aggregate() computes FUN column by column while by() feeds the whole (subset) data frame to FUN.
If I am wrong about this, I would greatly appreciate being corrected. Cheers, Bert Bert Gunter "Data is not information. Information is not knowledge. And knowledge is certainly not wisdom." -- Clifford Stoll On Tue, Dec 8, 2015 at 3:09 PM, Bert Gunter <bgunter.4...@gmail.com> wrote: > Because you are using by() incorrectly. > > "A data frame is split by row into **data frames** subsetted by the > values of one or more factors, and function FUN is applied to each > subset in turn." > > So your FUN is applied to a subset of the data frame (which is also a > list). Note that sum, min, and max have "..." as their initial > arguments and so use all the columns in the data frame of each subset > for .... var() takes the covariance matrix of the several columns and > summary.data.frame summarizes each column. mean() and sd() must be fed > a numeric vector as their first argument, which a data frame is not -- > ergo the error. > > Cheers, > Bert > > > Bert Gunter > > "Data is not information. Information is not knowledge. And knowledge > is certainly not wisdom." > -- Clifford Stoll > > > On Tue, Dec 8, 2015 at 2:30 PM, Dimitri Liakhovitski > <dimitri.liakhovit...@gmail.com> wrote: >> Hello! >> Could you please explain why the first 5 lines work but the last 2 lines >> don't? >> Thank you! >> >> by(data = iris[myvars], INDICES = iris["Species"], FUN = summary) >> by(data = iris[myvars], INDICES = iris["Species"], FUN = sum) >> by(data = iris[myvars], INDICES = iris["Species"], FUN = var) >> by(data = iris[myvars], INDICES = iris["Species"], FUN = max) >> by(data = iris[myvars], INDICES = iris["Species"], FUN = min) >> >> by(data = iris[myvars], INDICES = iris["Species"], FUN = sd) >> by(data = iris[myvars], INDICES = iris["Species"], FUN = mean) >> >> -- >> Dimitri Liakhovitski >> >> ______________________________________________ >> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> 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. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.