[R] getting informative error messages
Spencer Graves
spencer.graves at pdf.com
Tue May 8 19:58:37 CEST 2007
Dear Prof. Ripley:
1. I very much appreciate your contributions to the R project.
2. Whether with release 2.4.0 or earlier, I noticed that
'traceback()' had become less informative. This loss was more than
offset when I learned to use the 'debug' function in the 'base'
package: It increased my productivity so much that it helped complete
my transition from S-Plus: The last few times I had to use S-Plus, I
ported them to R, got the code working using 'debug', then ported the
results back to S-Plus. That was quicker for me than debugging directly
in S-Plus.
3. Thanks again for your many contributions to the R project and
to my education more generally.
Best Wishes,
Spencer Graves
Prof Brian Ripley wrote:
> It is not clear to me what you want here.
>
> Errors are tagged by a 'call', and f(1:3) is the innermost 'call' (special
> primitives do not set a context and so do not count if you consider '['
> to be a function).
>
> The message could tell you what the type was, but it does not and we have
> lost the pool of active contributors we once had to submit tested patches
> for things like that.
>
>
> On Mon, 7 May 2007, Tony Plate wrote:
>
>
>> Certain errors seem to generate messages that are less informative than
>> most -- they just tell you which function an error happened in, but
>> don't indicate which line or expression the error occurred in.
>>
>> Here's a toy example:
>>
>>
>>> f <- function(x) {a <- 1; y <- x[list(1:3)]; b <- 2; return(y)}
>>> options(error=NULL)
>>> f(1:3)
>>>
>> Error in f(1:3) : invalid subscript type
>>
>>> traceback()
>>>
>> 1: f(1:3)
>>
>> In this function, it's clear that the error is in subscripting 'x', but
>> it's not always so immediately obvious in lengthier functions.
>>
>> Is there anything I can do to get a more informative error message in
>> this type of situation? I couldn't find any help in the section
>> "Debugging R Code" in "R-exts" (or anything at all relevant in "R-intro").
>>
>> (Different values for options(error=...) and different formatting of the
>> function made no difference.)
>>
>> -- Tony Plate
>>
>>
>>> sessionInfo()
>>>
>> R version 2.5.0 (2007-04-23)
>> i386-pc-mingw32
>>
>> locale:
>> LC_COLLATE=English_United States.1252;LC_CTYPE=English_United
>> States.1252;LC_MONETARY=English_United
>> States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252
>>
>> attached base packages:
>> [1] "stats" "graphics" "grDevices" "utils" "datasets" "methods"
>> [7] "base"
>>
>> other attached packages:
>> tap.misc
>> "1.0"
>>
>> ______________________________________________
>> 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
>> and provide commented, minimal, self-contained, reproducible code.
>>
>>
>
>
More information about the R-help
mailing list