[R] as.numeric with tclvalue redux

Peter Dalgaard p.dalgaard at biostat.ku.dk
Mon Mar 24 19:13:41 CET 2008


Erin Hodgess wrote:
> Hi again R People:
>
> This works fine:
>   
>> library(tcltk)
>> a <- tclVar("4.5")
>> as.numeric(tclvalue(a))
>>     
> [1] 4.5
>   
>> #But if you have:
>> b <- tclVar("pi")
>> as.numeric(tclvalue(b))
>>     
> [1] NA
> Warning message:
> NAs introduced by coercion
>   
>
> Is anyone aware of a way around this, please?
>
>   
Brian already told you: Parse and eval.

 > eval(parse(text=as.character(tclvalue(tclVar("pi")))))
[1] 3.141593

(Beware: Depending on the environment in which you eval(), strange 
things can happen if you use the name of an internal variable in your 
function)

What happened with the Inf issue? I can't reproduce that:

 > as.numeric(as.tclObj("Inf"))
[1] Inf

-- 
   O__  ---- Peter Dalgaard             Øster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark      Ph:  (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)              FAX: (+45) 35327907



More information about the R-help mailing list