You can debug this sort of thing yourself by altering your function to tell you what its inputs are when things go wrong. E.g., change your original foo <- function(x) { unlist(lapply(x, FUN = function(z) cumsum(z) - z)) } to foo <- function(x) { retval <- unlist(lapply(x, FUN=function(z), cumsum(z) - z)) if (length(retval)==0)) { cat("foo: length(retval)==0 when x=\n") str(x) stop("problem in foo") } retval } For a more general solution, try setting options("error") to one of the debugging error handlers. options(error=recover) works but there are others. It takes a little while to figure out how to use the error handler but once you do you can solve your own problems.
Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com > -----Original Message----- > From: r-help-boun...@r-project.org > [mailto:r-help-boun...@r-project.org] On Behalf Of > rex.dw...@syngenta.com > Sent: Monday, February 28, 2011 9:31 AM > To: murdoch.dun...@gmail.com; mathijsdev...@gmail.com > Cc: r-help@r-project.org > Subject: Re: [R] Error > > I have to agree that it's pretty hard to take something that > works and figure out why it doesn't work :) > The only other suggestion is that sometimes I find that this > sort of error goes away if I add "drop=FALSE" to the > subsetting, and, if so, that usually lets me figure out why. > > -----Original Message----- > From: r-help-boun...@r-project.org > [mailto:r-help-boun...@r-project.org] On Behalf Of Duncan Murdoch > Sent: Sunday, February 27, 2011 5:52 AM > To: mathijsdevaan > Cc: r-help@r-project.org > Subject: Re: [R] Error > > On 11-02-26 8:26 AM, mathijsdevaan wrote: > > Mean doesn't work either... I understand that the message > "replacement has 0 > > items, need 37597770" implies that the function is not > returning any values, > > but I don't understand why then this is not the case in the example. > > > > DF = data.frame(read.table(textConnection(" A B C D E > > 1 1 a 1999 1 0 > > 2 1 b 1999 0 1 > > 3 1 c 1999 0 1 > > 4 1 d 1999 1 0 > > 5 2 c 2001 1 0 > > 6 2 d 2001 0 1 > > 7 3 a 2004 0 1 > > 8 3 b 2004 0 1 > > 9 3 d 2004 0 1 > > 10 4 b 2001 1 0 > > 11 4 c 2001 1 0 > > 12 4 d 2001 0 1"),head=TRUE,stringsAsFactors=FALSE)) > > > > DF = DF[order(DF$B,DF$C),] > > > > #first option - works fine in example and my target data frame > > DF$F = ave(DF$D,DF$B, FUN = function(x) cumsum(x)-x) > > DF$G = ave(DF$E,DF$B, FUN = function(x) cumsum(x)-x) > > > > #second option - works fine in example but not in my target > data frame > > foo<- function(x) > > { > > unlist(lapply(x, FUN = function(z) cumsum(z) - z)) > > } > > n<-ave(DF[,c(4:5)],DF$B,FUN = foo) > > > > Why is this second option not working in my target data > frame (which is much > > bigger than the example)? > > Presumably something is different about it. I don't see how > you expect > people to debug your problem when you don't show it. > > If you want help, you need to give us an example that shows the error. > Start with your large dataset, and shrink it as much as possible, but > not so much that the error goes away. (I suspect when you do this, > you'll end up seeing your error yourself. But maybe not.) > > Duncan Murdoch > > ______________________________________________ > 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. > > > > > message may contain confidential information. If you are not > the designated recipient, please notify the sender > immediately, and delete the original and any copies. Any use > of the message by you is prohibited. > ______________________________________________ > 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. > ______________________________________________ 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.