Dear Andrew Could you provide a reproducible example, please? Since we do not have your data "test.csv", we can not reproduce your code and that complicates bug fixing a lot. You can use set.seed to create artificial reproducible examples.
The only error in your code that I recognized: > > test.2 <- with(test,summarize(test$x,llist(test$Stratum,test$plot),g)) You have a llist(...) instead of list(...) If this is only copy-paste error, then you should provide a reproducible example. If it already solves the problem, you were lucky :-) Regards, Christoph -------------------------------------------------------------- Christoph Buser <[EMAIL PROTECTED]> Seminar fuer Statistik, LEO C13 ETH (Federal Inst. Technology) 8092 Zurich SWITZERLAND phone: x-41-44-632-4673 fax: 632-1228 http://stat.ethz.ch/~buser/ -------------------------------------------------------------- [EMAIL PROTECTED] writes: > Dear R Users, > > I have searched through the archives but I am still struggling to find a > way to process the below dataset. I have a dataset that has stratum and > plot identifier. Within each plot there is variable (Top) stating the > number of measurments that should be used to to calculate the mean to the > largest "top" elements within one of the vectors (X). I would like to > process this summary statistic by groups. At this stage I have been trying > to use the "summarize" function within the Hmisc library but I am getting > the following error "Error in eval(expr, envir, enclos) : numeric 'envir' > arg not of length one In addition: Warning message: no finite arguments to > max; returning -Inf". > > Any suggetsions on how I can fix this would be greatly appreciated. > > Kind regards > > Andrew > > test <- read.table("test.csv", header=TRUE, sep=",") > #function to calculate mean of "top" elements within a plot > > g<-function(y) { > + top_no <-max(y$top) > + weight <- with(y,as.numeric(x>=x[order(x,decreasing=TRUE)[top_no]])) > + wtd.mean(y$x,weight) > + } > > g(test) > [1] 172.6667 > #call to summarize function - use function g and summarise by stratum plot > > test.2 <- with(test,summarize(test$x,llist(test$Stratum,test$plot),g)) > Error in eval(expr, envir, enclos) : numeric 'envir' arg not of length one > In addition: Warning message: > no finite arguments to max; returning -Inf > > >traceback() > 9: eval(substitute(expr), data, enclos = parent.frame()) > 8: with.default(y, as.numeric(x >= x[order(x, decreasing = > TRUE)[top_no]])) > 7: with(y, as.numeric(x >= x[order(x, decreasing = TRUE)[top_no]])) > 6: FUN(X, ...) > 5: summarize(test$x, llist(test$Stratum, test$plot), g) > 4: eval(expr, envir, enclos) > 3: eval(substitute(expr), data, enclos = parent.frame()) > 2: with.default(test, summarize(test$x, llist(test$Stratum, test$plot), > g)) > 1: with(test, summarize(test$x, llist(test$Stratum, test$plot), > g)) > > The version im running on is > > $platform > [1] "i386-pc-mingw32" > > $arch > [1] "i386" > > $os > [1] "mingw32" > > $system > [1] "i386, mingw32" > > $status > [1] "" > > $major > [1] "2" > > $minor > [1] "2.0" > > $year > [1] "2005" > > $month > [1] "10" > > $day > [1] "06" > > $"svn rev" > [1] "35749" > > $language > [1] "R" > > > > > > Stratum plot id top x > 1 1 1 2 12 > 1 1 2 2 41 > 1 1 3 2 12 > 1 1 4 2 43 > 1 1 5 2 12 > 1 1 6 2 14 > 1 1 7 2 43 > 1 1 8 2 12 > 1 2 1 4 42 > 1 2 2 4 12 > 1 2 3 4 432 > 1 2 4 4 12 > 1 2 5 4 12 > 1 2 6 4 14 > 1 2 7 4 41 > 1 2 8 4 1 > 2 1 1 2 12 > 2 1 2 2 41 > 2 1 3 2 12 > 2 1 4 2 43 > 2 1 5 2 12 > 2 1 6 2 14 > 2 1 7 2 43 > 2 1 8 2 12 > 2 2 1 3 42 > 2 2 2 3 12 > 2 2 3 3 432 > 2 2 4 3 12 > 2 2 5 3 12 > 2 2 6 3 14 > 2 2 7 3 41 > 2 2 8 3 1 > > > > > > [[alternative HTML version deleted]] > > ______________________________________________ > [email protected] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
