home *** CD-ROM | disk | FTP | other *** search
-
- _G_e_n_e_r_a_t_e _a _B_a_s_i_s _M_a_t_r_i_x _f_o_r _N_a_t_u_r_a_l _C_u_b_i_c _S_p_l_i_n_e_s
-
- ns(x, df, knots, intercept=F, Boundary.knots)
-
- _A_r_g_u_m_e_n_t_s:
-
- x:
- the predictor variable.
-
- df:
- degrees of freedom. One can supply df rather than
- knots; ns() then chooses df-1-intercept knots at suit-
- ably chosen quantiles of x.
-
- knots:
- breakpoints that define the spline. The default is no
- knots; together with the natural boundary conditions
- this results in a basis for linear regression on x.
- Typical values are the mean or median for one knot,
- quantiles for more knots. See also Boundary.knots.
-
- intercept:
- if TRUE, an intercept is included in the basis; default
- is FALSE.
-
- Boundary.knots:
- boundary points at which to impose the natural boundary
- conditions and anchor the B-spline basis (default the
- range of the data). If both knots and Boundary.knots
- are supplied, the basis parameters do not depend on x.
- Data can extend beyond Boundary.knots
-
- Value:
-
- a matrix of dimension length(x) * df where either df
- was supplied or if knots were supplied, df =
- length(knots) + 1 + intercept. Attributes are returned
- that correspond to the arguments to ns, and explicitly
- give the knots, Boundary.knots etc for use by
- predict.ns(). ns() is based on the function
- spline.des() written by Douglas Bates. It generates a
- basis matrix for representing the family of piecewise-
- cubic splines with the specified sequence of interior
- knots, and the natural boundary conditions. These
- enforce the constraint that the function is linear
- beyond the boundary knots, which can either be sup-
- plied, else default to the extremes of the data. A
- primary use is in modeling formula to directly specify
- a natural spline term in a model. Beware of making
- predictions with new x values when df is used as an
- argument. Either use safe.predict.gam(), or else
- specify knots and Boundary.knots.SA bs, poly, lo, s,
- predict.ns
-
- _E_x_a_m_p_l_e_s:
-
- lsfit(ns(x,5),y)
- lm(y ~ ns(age, 4) + ns(income, 4)) # an additive model
- fit <- lm(y ~ ns(age, knots=c(20,30), B=c(10,60)))
- predict(fit, new.age) #safe predictions because explicit knot sequence was supplied.
-
-