[R] possibly Error in R version 2.12.1 (2010-12-16)

Frank Schwidom schwidom at gmx.net
Sat Feb 18 20:40:52 CET 2012


How can i file this isssue as an bugreport?

On Fri, Feb 03, 2012 at 02:01:02PM +0100, peter dalgaard wrote:
> 
> On Feb 2, 2012, at 21:24 , Frank Schwidom wrote:
> 
> > Hi, 
> > 
> > the following Code demonstrates an possibly Error in R
> > (or you can explain me, why this happens, thanks in advance)
> 
> Looks like an effect of lazy evaluation: The value of i is not evaluated until after the loop has ended, at which point it will be 2. This is a feature, not an error, even if it confuses people at times...
> 
> -pd
> 
> 
> > 
> > Code:
> > 
> > #####################################
> > 
> > testClass <- function( stackData= c())
> > {
> > 
> > list(
> > 
> >  write= function( ...)
> >  {
> >   sChain= ""
> >   for( s in c( stackData, ...))
> >   {
> >    sChain= paste( sChain, '"', sub( '"', '\\\\"', s), '"', sep, sep='')
> >   }
> >   write( sChain, fHandle, append=TRUE)
> >  },
> > 
> >  stackIt1 = function( ...)
> >  {
> >   testClass( stackData= c( stackData, ...))
> >  },
> > 
> >  stackIt2 = function( ...)
> >  {
> >   tmp= c( stackData, ...)
> >   testClass( stackData= tmp)
> >  },
> > 
> >  getStack = function()
> >  {
> >   stackData
> >  },
> > 
> >  NULL
> > )
> > }
> > 
> > to1= testClass()
> > 
> > for( i in 4:2)
> > {
> > to1= to1$stackIt1( i)
> > }
> > 
> > print( all( rep( 2, 3) == to1$getStack())) # error!
> > 
> > to2= testClass()
> > 
> > for( i in 4:2)
> > {
> > to2= to2$stackIt2( i)
> > }
> > 
> > print( all( 4:2 == to2$getStack())) # correct!
> > 
> > # what ist the difference between stackIt1 and stackIt2?
> > # (error appears only by using an for loop)
> > 
> > "
> >> version
> > _
> > platform       i486-pc-linux-gnu
> > arch           i486
> > os             linux-gnu
> > system         i486, linux-gnu
> > status
> > major          2
> > minor          12.1
> > year           2010
> > month          12
> > day            16
> > svn rev        53855
> > language       R
> > version.string R version 2.12.1 (2010-12-16)
> > 
> > Regards
> > "
> > 
> > ##################################### End of Code
> > 
> > written in an R-File and called per source( '<Fname>.R')
> > shows 2 subsequent outputs of 'TRUE', which is not ok
> > in my mind
> > 
> > Thanks for your attention
> > 
> > ______________________________________________
> > 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.
> 
> -- 
> Peter Dalgaard, Professor
> Center for Statistics, Copenhagen Business School
> Solbjerg Plads 3, 2000 Frederiksberg, Denmark
> Phone: (+45)38153501
> Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com
>



More information about the R-help mailing list