[R] Strange paste, string or package problem?
Prof Brian Ripley
ripley at stats.ox.ac.uk
Tue Mar 4 07:58:08 CET 2008
On Tue, 4 Mar 2008, Thomas Allen wrote:
> Hi
>
> I came across this strange bug the other day, I'm not sure how to solve it
> and I wonder if anyone can even replicate it.
>
> Using OS Ubuntu 7.10
>
> Step 1) Make an R package using the package.skeleton() command with
> only these two functions:
>
> error <- function(){
> cmd <- paste(" -a ",1," -a ",1," -a ",1,
> " -a ",1," -a ",1," -a ",1,
> " -a ",1," -a ",1," -a ",1,
> " -a ",1," -a ",1," -a ",1,
> " –a ",1,sep="")
> cat(cmd,"\n")
> }
> noerror <- function(){
> cmd <- paste(" -a ",1," -a ",1," -a ",1,
> " -a ",1," -a ",1," -a ",1,
> " -a ",1," -a ",1," -a ",1,
> " -a ",1," -a ",1," -a ",1,sep="")
> cat(cmd,"\n")
> }
>
> Step 2) Start R again. Load the package with library() and run the commands:
> error()
> noerror()
>
> I get the following output:
>>> library(errors)
>> error()
> -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 <e2><80><93>a 1
>> noerror()
> -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1 -a 1
>>
>
> Now why does that "<e2><80><93>" replace one of the "-" in the first command?
Because you put it there! I believe that at the first step you were
running R in a UTF-8 locale, and at the second in (probably) an 8-bit
locale. I can reproduce this by changing from en_GB.utf8 to en_GB on F8,
for example.
<e2><80><93> is UTF-8 for the Unicode point U+2013, the en dash. I don't
know how you managed to enter that in UTF-8 (I would have not have
expected it to be accidentally possible from the keyboard), but the
solution is to use hyphen where you intend hyphen. (Unicode calls this
'HYPHEN-MINUS' to indicate its dual role -- it also has U+2212 for minus.)
>
> Any ideas?
>
> Cheers
>
> Tom
>
> --
> Thomas Allen
> Department of Biochemistry
> University of Otago
> email1: hedbag at gmail.com
> email2: allth025 at student.otago.ac.nz
> Work: (+64)3 479 5123
> Mobile: 027 321 4269
>
> ______________________________________________
> 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.
>
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-help
mailing list