[R] typecasting a function from character to double

Phil Spector spector at stat.berkeley.edu
Mon Feb 28 10:13:14 CET 2011


What you're are describing in a vector of character strings 
containing expressions. It doesn't make sense to try to 
coerce them to double without evaluating them.  I'm not 
completely clear on your intent, but this example may point you to
where you'd need to look to do what you want:

> exprs = c('(1+s) / (1+k) ;','(1+(2*s)^2) / (1+k)^2 ;')
> s = 4
> sapply(1:10,function(x){k=x;eval(parse(text=exprs[1]))})
  [1] 2.5000000 1.6666667 1.2500000 1.0000000 0.8333333 0.7142857 0.6250000
  [8] 0.5555556 0.5000000 0.4545455

or perhaps

> expr1 = function(k,s){k=k;s=s;eval(parse(text=exprs[1]))}
> expr1(3,2)
[1] 0.75
> expr1(10,5)
[1] 0.5454545

 					- Phil Spector
 					 Statistical Computing Facility
 					 Department of Statistics
 					 UC Berkeley
 					 spector at stat.berkeley.edu



On Sun, 27 Feb 2011, LucasM wrote:

> Hello,
> I try to plot a number of functions that are given by a textfile. This file
> looks like this:
> ----
> (1+s) / (1+k) ;
> (1+(2*s)^2) / (1+k)^2 ;
> etc etc.
> ----
>
> I import these functions into R with the 'readLines' command. This creates a
> table whose elements contain the conditions as character strings. I want to
> generically plot the functions (there are many) while varying k, but the
> type of the imported functions is 'character'. I cannot coerce it to double;
> this creates NaN's.
>
> Any suggestions for a way out?
>
> -- 
> View this message in context: http://r.789695.n4.nabble.com/typecasting-a-function-from-character-to-double-tp3327555p3327555.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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