[R] Newbie - Summarize function

Christoph Buser buser at stat.math.ethz.ch
Wed Dec 21 17:48:51 CET 2005


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 <buser at stat.math.ethz.ch>
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/
--------------------------------------------------------------


Andrew.Haywood at poyry.com.au 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]]
 > 
 > ______________________________________________
 > R-help at stat.math.ethz.ch mailing list
 > https://stat.ethz.ch/mailman/listinfo/r-help
 > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html




More information about the R-help mailing list