[R] error with source(): invalid 'times' value

William Dunlap wdunlap at tibco.com
Mon Jan 24 23:17:00 CET 2011


> -----Original Message-----
> From: mat [mailto:matthieu.stigler at gmail.com] 
> Sent: Monday, January 24, 2011 2:09 PM
> To: William Dunlap
> Cc: jim holtman; r-help at r-project.org; murdoch.duncan at gmail.com
> Subject: Re: [R] error with source(): invalid 'times' value
> 
> indeed this makes the trick! quite strange... is this a known 
> bug/issue?

It is known now.  The problem arises while
printing the output of parse because the srcref
attribute contains the numbers from those
  #line <number>
entries and the printing routine gets confused
if the numbers are out of the range 1 through
the number of lines of text.

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com  

> 
> thanks!
> 
> Matthieu
> 
> Le 24. 01. 11 19:48, William Dunlap a écrit :
> > Put a space after the # in the line
> > #line 516
> > to avoid the problem.  A similar problem also
> > appears in parse().
> >
> >    >  parse(text="#line 102\nlog(pi)\n")
> >    Error in `Encoding<-`(`*tmp*`, value = character(0)) :
> >      'value' must be of positive length
> >    >  parse(text="# line 102\nlog(pi)\n")
> >    expression(log(pi))
> >    attr(,"srcfile")
> >    <text>
> >    attr(,"wholeSrcref")
> >    # line 102
> >    log(pi)
> >
> > (I'm still using 2.12.0.)
> >
> > 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 jim holtman
> >> Sent: Monday, January 24, 2011 10:19 AM
> >> To: Matthieu Stigler
> >> Cc: r-help at r-project.org
> >> Subject: Re: [R] error with source(): invalid 'times' value
> >>
> >> Do 'str(dep)' to see what dep is and where it comes from.  
> If you have
> >> the 'options' set as I suggested, you can do this 
> examination when the
> >> error occurs.
> >>
> >> On Mon, Jan 24, 2011 at 12:41 PM, Matthieu Stigler
> >> <matthieu.stigler at gmail.com>  wrote:
> >>> ok, thanks Jim
> >>>
> >>> The problem comes from length(dep)<leading, so we get
> >> negative number...
> >>>> length(dep)
> >>> [1] 183
> >>>
> >>> c(leading, length(dep) - leading)
> >>> [1]  516 -333
> >>>
> >>> But 183 seems to be the right number:
> >>> $ wc -l /tmp/RFile.r
> >>> 183 /tmp/RFile.r
> >>>
> >>> So now need to understand what is this "dep", and why it
> >> has a bigger
> >>> length... tried to check source code (:-)) but could not
> >> get it... any idea?
> >>> Thanks a lot
> >>>
> >>> Matthieu
> >>>
> >>>
> >>> Le 24. 01. 11 18:29, jim holtman a écrit :
> >>>> It sounds like you have some invalid expressions.  Dump
> >> out the values
> >>>> of 'leading' and 'length(dep) - leading'.  Learn some
> >> simple debugging
> >>>> techniques.  One is to set
> >>>>
> >>>> options(error=utils::recover)
> >>>>
> >>>> so that on the error you can use the browser to examine
> >> what the values
> >>>> are.
> >>>>
> >>>> On Mon, Jan 24, 2011 at 12:07 PM, Matthieu Stigler
> >>>> <matthieu.stigler at gmail.com>    wrote:
> >>>>> hi
> >>>>>
> >>>>> I am seeing a strange behavior I can't understand... doing:
> >>>>>
> >>>>>> source("/tmp/RFile.r",echo=TRUE)
> >>>>> Error in rep.int(c(prompt.echo, continue.echo),
> >> c(leading, length(dep) -
> >>>>>   :
> >>>>>   invalid 'times' value
> >>>>>> traceback()
> >>>>> 3: rep.int(c(prompt.echo, continue.echo), c(leading, 
> length(dep) -
> >>>>>        leading))
> >>>>> 2: paste(rep.int(c(prompt.echo, continue.echo),
> >> c(leading, length(dep) -
> >>>>>        leading)), dep, sep = "", collapse = "\n")
> >>>>> 1: source("/tmp/RFile.r", echo = TRUE)
> >>>>> But the file I am trying to source is very simple... see:
> >>>>> $ more /tmp/RFile.r
> >>>>> ###################################################
> >>>>> ### chunk number 1:
> >>>>> ###################################################
> >>>>> #line 516 "VolStocksDec2010.Rnw"
> >>>>> path<-"~/Dropbox/FAO/Papers/Volatility only"
> >>>>> pathMarkov<-"~/Dropbox/FAO/Markov Model/"
> >>>>> library(zoo)
> >>>>>
> >>>>> Any idea where it can come from? It works fine when
> >> echo=FALSE... I am
> >>>>> using
> >>>>> R 2.12, on Ubuntu Linux 10.4 (R from CRAN), full session
> >> info below.
> >>>>> Should
> >>>>> I rather send this to r-devel?
> >>>>>
> >>>>> Thanks a  lot
> >>>>>
> >>>>> Matthieu
> >>>>>
> >>>>>
> >>>>> sessionInfo()
> >>>>> R version 2.12.1 (2010-12-16)
> >>>>> Platform: i486-pc-linux-gnu (32-bit)
> >>>>>
> >>>>> locale:
> >>>>>   [1] LC_CTYPE=fr_CH.utf8       LC_NUMERIC=C
> >>>>>   [3] LC_TIME=fr_CH.utf8        LC_COLLATE=fr_CH.utf8
> >>>>>   [5] LC_MONETARY=C             LC_MESSAGES=en_US.UTF-8
> >>>>>   [7] LC_PAPER=fr_CH.utf8       LC_NAME=C
> >>>>>   [9] LC_ADDRESS=C              LC_TELEPHONE=C
> >>>>> [11] LC_MEASUREMENT=fr_CH.utf8 LC_IDENTIFICATION=C
> >>>>>
> >>>>> attached base packages:
> >>>>> [1] stats     graphics  grDevices datasets  utils
> >> methods   base
> >>>>> loaded via a namespace (and not attached):
> >>>>> [1] grid_2.12.1         lattice_0.19-17     Matrix_0.999375-45
> >>>>> [4] nnet_7.3-1          tsDyn_0.7-40        tseries_0.10-23
> >>>>> [7] tseriesChaos_0.1-11
> >>>>>
> >>>>> ______________________________________________
> >>>>> 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.
> >>>>>
> >>>>
> >>>
> >>
> >>
> >> -- 
> >> Jim Holtman
> >> Data Munger Guru
> >>
> >> What is the problem that you are trying to solve?
> >>
> >> ______________________________________________
> >> 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.
> >>
> 
> 



More information about the R-help mailing list