scatter3d               package:Rcmdr               R Documentation

_T_h_r_e_e-_D_i_m_e_n_s_i_o_n_a_l _S_c_a_t_t_e_r_p_l_o_t_s _a_n_d _P_o_i_n_t _I_d_e_n_t_i_f_i_c_a_t_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     The 'scatter3d' function uses the 'rgl' package to draw 3D
     scatterplots with various regression surfaces. The function
     'identify3d'  allows you to label points interactively with the
     mouse: Press the right mouse button (on a two-button mouse) or the
     centre button (on a three-button mouse), drag a  rectangle around
     the points to be identified, and release the button.  Repeat this
     procedure for each point or set of ``nearby'' points to be
     identified. To exit from point-identification mode, click the
     right (or centre) button an empty region of the plot.

_U_s_a_g_e:

     scatter3d(x, y, z, 
             xlab=deparse(substitute(x)), ylab=deparse(substitute(y)),
             axis.scales=TRUE,                          
             zlab=deparse(substitute(z)), revolutions=0, bg.col=c("white", "black"), 
             axis.col=if (bg.col == "white") c("darkmagenta", "black", "darkcyan") 
                 else c("darkmagenta", "white", "darkcyan"),
             surface.col=c("blue", "green", "orange", "magenta", "cyan", "red", "yellow", "gray"),
             neg.res.col="red", pos.res.col="green", 
             square.col=if (bg.col == "white") "black" else "gray", point.col="yellow",
             text.col=axis.col, grid.col=if (bg.col == "white") "black" else "gray",
             fogtype=c("exp2", "linear", "exp", "none"),
             residuals=(length(fit) == 1), surface=TRUE, fill=TRUE, grid=TRUE, grid.lines=26,
             df.smooth=NULL, df.additive=NULL,
             sphere.size=1, threshold=0.01, speed=1, fov=60,
             fit="linear", groups=NULL, parallel=TRUE, ellipsoid=FALSE, level=0.5,
             model.summary=FALSE)
         
     identify3d(x, y, z, axis.scales=TRUE, groups=NULL, labels=1:length(x), 
         col=c("blue", "green", "orange", "magenta", "cyan", "red", "yellow", "gray"),
         offset = ((100/length(x))^(1/3)) * 0.02)

_A_r_g_u_m_e_n_t_s:

       x: variable for horizontal axis.

       y: variable for vertical axis (response).

       z: variable for out-of-screen axis.

xlab, ylab, zlab: axis labels.

axis.scales: if 'TRUE', label the values of the ends of the axes.
          _Note:_ For 'identify3d' to work properly, the value of this
          argument must be the same as in 'scatter3d'.

revolutions: number of full revolutions of the display.

  bg.col: background colour; one of '"white"', '"black"'.

axis.col: colours for axes; if 'axis.scales' is 'FALSE', then the
          second colour is used for all three axes.

surface.col: vector of colours for regression planes,  used in the
          order specified by 'fit'.

neg.res.col, pos.res.col: colours for lines representing negative  and
          positive residuals.

square.col: colour to use to plot squared residuals.

point.col: colour of points.

text.col: colour of axis labels.

grid.col: colour of grid lines on the regression surface(s).

 fogtype: type of fog effect; one of '"exp2"', '"linear"',  '"exp"',
          '"none".'

residuals: plot residuals if 'TRUE'; if  'residuals="squares"', then
          the squared residuals are shown as squares (using code
          adapted from Richard Heiberger). Residuals are available only
          when there is one surface plotted.

 surface: plot surface(s) ('TRUE' or 'FALSE').

    fill: fill the plotted surface(s) with colour ('TRUE' or 'FALSE').

    grid: plot grid lines on the regression surface(s) ('TRUE' or
          'FALSE').

grid.lines: number of lines (default, 26) forming the grid, in each of
          the x and y directions.

df.smooth: degrees of freedom for the two-dimensional smooth regression
          surface; if 'NULL' (the default), the 'gam' function will
          select the degrees of freedom for a smoothing spline by
          generalized cross-validation; if a positive number, a fixed
          regression spline will be fit with the specified degrees of
          freedom.

df.additive: degrees of freedom for each explanatory variable in an
          additive regression; if 'NULL' (the default), the 'gam'
          function will select degrees of freedom  for the smoothing
          splines by generalized cross-validation; if a positive number
          or a vector of two positive numbers, fixed regression splines
          will be fit with the specified degrees of freedom for each
          term.

sphere.size: relative sizes of spheres representing points;  the actual
          size is dependent on the number of observations.

threshold: if the actual size of the spheres is less than the
          threshold,  points are plotted instead.

   speed: relative speed of revolution of the plot.

     fov: field of view (in degrees); controls degree of perspective.

     fit: one or more of '"linear"', '"quadratic"', '"smooth"', 
          '"additive"'; to display fitted surface(s); partial matching
          is supported -  e.g., 'c("lin", "quad")'.

  groups: if 'NULL' (the default), no groups are defined; if a factor,
          a different surface or set of surfaces is plotted for each
          level of the factor; in this event, the colours in 
          'plane.col' are used successively for the points, surfaces,
          and residuals corresponding to each level of the factor.

parallel: when plotting surfaces by 'groups', should the surfaces be
          constrained to be parallel? A logical value, with default
          'TRUE'.

ellipsoid: plot concentration ellipsoid(s) ('TRUE' or 'FALSE').

   level: expected proportion of bivariate-normal observations included
          in the concentration ellipsoid(s); default is 0.5.

model.summary: print summary or summaries of the model(s) fit  ('TRUE'
          or 'FALSE'). 'scatter3d' rescales the three variables 
          internally to fit in the unit cube; this rescaling will
          affect regression  coefficients.

  labels: text labels for the points, one for each point; defaults to
          the observation indices.

     col: colours for the point labels, given by group. There must be
          at least as many colours as groups; if there are no groups,
          the first colour is used. Normally, the colours would
          correspond to the 'plane.col' argument to 'scatter3d'.

  offset: vertical displacement for point labels (to avoid overplotting
          by points).

_V_a_l_u_e:

     'scatter3d' not return a useful value; it is used for its
     side-effect of creating a 3D scatterplot. 'indentify3d' returns
     the labels of the identified points.

_N_o_t_e:

     You have to install the 'rgl' and 'mgcv' packages to produce 3D
     plots.

_A_u_t_h_o_r(_s):

     John Fox jfox@mcmaster.ca

_S_e_e _A_l_s_o:

     'rgl.open', 'gam'

_E_x_a_m_p_l_e_s:

         ## Not run: 
     State.x77 <- as.data.frame(state.x77)
     with(State.x77, scatter3d(Income, Murder, Illiteracy))
     with(State.x77, identify3d(Income, Murder, Illiteracy, labels=row.names(State.x77)))
     with(State.x77,  scatter3d(Income, Murder, Illiteracy, fit=c("linear", "quadratic")))
         
     ## End(Not run)

