[R] y needing more than 2 functions
    Petr Savicky 
    savicky at cs.cas.cz
       
    Tue Mar 27 09:07:10 CEST 2012
    
    
  
On Mon, Mar 26, 2012 at 07:48:07PM -0400, Aimee Jones wrote:
> Dear all,
> 
> I'm aware if y has two separate functions (depending on the conditions
> of x) you can use the ifelse function to separate y into two separate
> functions depending on input. How do you do this if there a multiple
> different conditions for x?
> 
> for example,
> 
> y fits the following between t>0 & t<15----->function(t) t^2, y fits
> the following between t>15 & t<30-----> function(t) t^3, y fits the
> following between t>30 &t<45--->function(t) t^4 etc
Hi.
Try the following.
  bounds <- c(0, 15, 30, 45)
  x <- seq(4, 44, length=51)
  valfunc <- cbind(x^2, x^3, x^4)
  indfunc <- findInterval(x, bounds)
  y <- valfunc[cbind(1:nrow(valfunc), indfunc)]
  # verify
  range(x[y == x^2]) # [1]  4.0 14.4
  range(x[y == x^3]) # [1] 15.2 29.6
  range(x[y == x^4]) # [1] 30.4 44.0
Hope this helps.
Petr Savicky.
    
    
More information about the R-help
mailing list