Re: [R] Error

From: William Dunlap <wdunlap_at_tibco.com>
Date: Mon, 28 Feb 2011 10:58:05 -0800

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-bounces_at_r-project.org
> [mailto:r-help-bounces_at_r-project.org] On Behalf Of
> rex.dwyer_at_syngenta.com
> Sent: Monday, February 28, 2011 9:31 AM
> To: murdoch.duncan_at_gmail.com; mathijsdevaan_at_gmail.com
> Cc: r-help_at_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-bounces_at_r-project.org
> [mailto:r-help-bounces_at_r-project.org] On Behalf Of Duncan Murdoch
> Sent: Sunday, February 27, 2011 5:52 AM
> To: mathijsdevaan
> Cc: r-help_at_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_at_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_at_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_at_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. Received on Mon 28 Feb 2011 - 19:00:48 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Mon 28 Feb 2011 - 20:00:17 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive