stepfun               package:stepfun               R Documentation

_S_t_e_p _F_u_n_c_t_i_o_n_s

_D_e_s_c_r_i_p_t_i_o_n:

     Given the vectors (x[1],..., x[n]) and (y[0],y[1],..., y[n])  (one
     value more!), `stepfun(x,y,...)' returns an interpolating ``step''
     function, say `fn'. I.e., fn(t) = c[i] (constant) for t in ( x[i],
     x[i+1]) and fn(x[i]) = y[i] for i=1,...,n.

     The value of the constant c[i] above depends on the ``continuity''
     parameter `f'. For the default, `f = 0', `fn' is a ``cadlag''
     function, i.e. continuous at right, limit (``the point'') at left.
     In general, c[i] is interpolated in between the neighbouring y
     values, c[i] = (1-f)*y[i] + f*y[i+1]. Therefore, for non-0 values
     of `f', `fn' may no longer be a proper step function, since it can
     be discontinuous from both sides.

_U_s_a_g_e:

     fn <- stepfun(x, y, f=0)
     is.stepfun(fn)
     knots(fn)
     plot(fn, ...)
     print(fn, ...)
     summary(fn)

_A_r_g_u_m_e_n_t_s:

       x: numeric vector giving the ``knots'' or jump locations of the
          step function.

       y: numeric vector one longer than `x', giving the heights of the
          function values between the x values.

       f: a number between 0 and 1, indicating how interpolation
          outside the given x values should happen.  See  `approxfun'.

      fn: an R object inheriting from `"stepfun"'.

_V_a_l_u_e:

     A function of class `"stepfun"', say `fn'. There are methods
     available for summarizing (`"summary(.)"'), representing
     (`"print(.)"') and plotting  (`"plot(.)"', see `plot.stepfun')
     `"stepfun"' objects.

     The `environment' of `fn' contains all the information needed;
     `"x","y"': the original arguments; `"n"': number of knots (x
     values); `"f"': continuity parameter; `"yleft", "yright"' the
     function values outside the knots; `"method"' (always `==
     "constant"'; not used, from `approxfun(.)'). The knots are also
     available by `knots(fn)'.

_A_u_t_h_o_r(_s):

     Martin Maechler, maechler@stat.math.ethz.ch with some basic code
     from Thomas Lumley.

_S_e_e _A_l_s_o:

     `ecdf' for empirical distribution functions as special step
     functions and `plot.stepfun' for plotting step functions.

     `approxfun' and `splinefun'.

_E_x_a_m_p_l_e_s:

     y0 <- c(1,2,4,3)
     sfun0  <- stepfun(1:3, y0, f = 0)
     sfun.2 <- stepfun(1:3, y0, f = .2)
     sfun1  <- stepfun(1:3, y0, f = 1)
     sfun0
     summary(sfun0)
     summary(sfun.2)

     x0 <- seq(0.5,3.5, by = 0.25)
     rbind(x=x0, f.f0 = sfun0(x0), f.f02= sfun.2(x0), f.f1 = sfun1(x0))

