G02DCF adds or deletes an observation from a general regression model fitted by
G02DAF.
G02DAF fits a general linear regression model to a dataset. You may wish to change the model by either adding or deleting an observation from the dataset. G02DCF takes the results from
G02DAF and makes the required changes to the vector
$c$ and the upper triangular matrix
$R$ produced by
G02DAF. The regression coefficients, standard errors and the variancecovariance matrix of the regression coefficients can be obtained from
G02DDF after all required changes to the dataset have been made.
G02DAF performs a
$QR$ decomposition on the (weighted)
$X$ matrix of independent variables. To add a new observation to a model with
$p$ parameters, the upper triangular matrix
$R$ and vector
${c}_{1}$ (the first
$p$ elements of
$c$) are augmented by the new observation on independent variables in
${x}^{\mathrm{T}}$ and dependent variable
${y}_{\text{new}}$. Givens rotations are then used to restore the upper triangular form.
Note: only
$R$ and the upper part of
$c$ are updated the remainder of the
$Q$ matrix is unchanged.
Hammarling S (1985) The singular value decomposition in multivariate statistics SIGNUM Newsl. 20(3) 2–25
 1: UPDATE – CHARACTER(1)Input
On entry: indicates if an observation is to be added or deleted.
 ${\mathbf{UPDATE}}=\text{'A'}$
 The observation is added.
 ${\mathbf{UPDATE}}=\text{'D'}$
 The observation is deleted.
Constraint:
${\mathbf{UPDATE}}=\text{'A'}$ or $\text{'D'}$.
 2: MEAN – CHARACTER(1)Input
On entry: indicates if a mean has been used in the model.
 ${\mathbf{MEAN}}=\text{'M'}$
 A mean term or intercept will have been included in the model by G02DAF.
 ${\mathbf{MEAN}}=\text{'Z'}$
 A model with no mean term or intercept will have been fitted by G02DAF.
Constraint:
${\mathbf{MEAN}}=\text{'M'}$ or $\text{'Z'}$.
 3: WEIGHT – CHARACTER(1)Input
On entry: indicates if a weight is to be used.
 ${\mathbf{WEIGHT}}=\text{'U'}$
 The new observation is unweighted.
 ${\mathbf{WEIGHT}}=\text{'W'}$
 The new observation is to be weighted and the weight must be supplied in WT.
Constraint:
${\mathbf{WEIGHT}}=\text{'U'}$ or $\text{'W'}$.
 4: M – INTEGERInput
On entry: $m$, the total number of independent variables in the dataset.
Constraint:
${\mathbf{M}}\ge 1$.
 5: ISX(M) – INTEGER arrayInput
On entry: if
${\mathbf{ISX}}\left(\mathit{j}\right)$ is greater than $0$, the value contained in ${\mathbf{X}}\left(\left(\mathit{j}1\right)\times {\mathbf{IX}}+1\right)$ is to be included as a value of ${x}^{\mathrm{T}}$, for $\mathit{j}=1,2,\dots ,{\mathbf{M}}$.
Constraint:
if
${\mathbf{MEAN}}=\text{'M'}$, exactly
${\mathbf{IP}}1$ elements of
ISX must be
$\text{}>0$ and if
${\mathbf{MEAN}}=\text{'Z'}$, exactly
IP elements of
ISX must be
$\text{}>0$.
 6: Q(LDQ,${\mathbf{IP}}+1$) – REAL (KIND=nag_wp) arrayInput/Output
On entry: must be array
Q as output by
G02DAF,
G02DEF,
G02DFF or
G02EEF, or a previous call to G02DCF.
On exit: the first
IP elements of the first column of
Q will contain
${c}_{1}^{*}$ the upper triangular part of columns
$2$ to
${\mathbf{IP}}+1$ will contain
${R}^{*}$ the remainder is unchanged.
 7: LDQ – INTEGERInput
On entry: the first dimension of the array
Q as declared in the (sub)program from which G02DCF is called.
Constraint:
${\mathbf{LDQ}}\ge {\mathbf{IP}}$.
 8: IP – INTEGERInput
On entry: the number of linear terms in general linear regression model (including mean if there is one).
Constraint:
${\mathbf{IP}}\ge 1$.
 9: X($*$) – REAL (KIND=nag_wp) arrayInput

Note: the dimension of the array
X
must be at least
$\left({\mathbf{M}}1\right)\times {\mathbf{IX}}+1$.
On entry: the
IP values for the dependent variables of the new observation,
${x}^{\mathrm{T}}$. The positions will depend on the value of
IX.
 10: IX – INTEGERInput
On entry: the increment for elements of
X.
Two situations are common:
 ${\mathbf{IX}}=1$
 The values of $x$ are to be chosen from consecutive locations in X, i.e., ${\mathbf{X}}\left(1\right),{\mathbf{X}}\left(2\right),\dots ,{\mathbf{X}}\left({\mathbf{M}}\right)$.
 ${\mathbf{IX}}={\mathbf{LDX}}$
 The values of $x$ are to be chosen from a row of a twodimensional array with first dimension LDX, i.e., ${\mathbf{X}}\left(1\right),{\mathbf{X}}\left({\mathbf{LDX}}+1\right),\dots ,{\mathbf{X}}\left(\left({\mathbf{M}}1\right){\mathbf{LDX}}+1\right)$.
Constraint:
${\mathbf{IX}}\ge 1$.
 11: Y – REAL (KIND=nag_wp)Input
On entry: the value of the dependent variable for the new observation, ${y}_{\text{new}}$.
 12: WT – REAL (KIND=nag_wp)Input
On entry: if
${\mathbf{WEIGHT}}=\text{'W'}$ ,
WT must contain the weight to be used with the new observation.
If ${\mathbf{WT}}=0.0$, the observation is not included in the model.
If
${\mathbf{WEIGHT}}=\text{'U'}$,
WT is not referenced.
Constraint:
if ${\mathbf{WT}}\ge 0.0$, ${\mathbf{WEIGHT}}=\text{'W'}$.
On entry: the value of the residual sums of squares for the original set of observations.
Constraint:
${\mathbf{RSS}}\ge 0.0$.
On exit: the updated values of the residual sums of squares.
Note: this will only be valid if the model is of full rank.
 14: WK($3\times {\mathbf{IP}}$) – REAL (KIND=nag_wp) arrayWorkspace
 15: IFAIL – INTEGERInput/Output

On entry:
IFAIL must be set to
$0$,
$1\text{ or}1$. If you are unfamiliar with this parameter you should refer to
Section 3.3 in the Essential Introduction for details.
For environments where it might be inappropriate to halt program execution when an error is detected, the value
$1\text{ or}1$ is recommended. If the output of error messages is undesirable, then the value
$1$ is recommended. Otherwise, if you are not familiar with this parameter, the recommended value is
$0$.
When the value $\mathbf{1}\text{ or}\mathbf{1}$ is used it is essential to test the value of IFAIL on exit.
On exit:
${\mathbf{IFAIL}}={\mathbf{0}}$ unless the routine detects an error or a warning has been flagged (see
Section 6).
If on entry
${\mathbf{IFAIL}}={\mathbf{0}}$ or
${{\mathbf{1}}}$, explanatory error messages are output on the current error message unit (as defined by
X04AAF).
Care should be taken with the use of G02DCF.
(a) 
It is possible to delete observations which were not included in the original model. 
(b) 
If several additions/deletions have been performed you are advised to recompute the regression using G02DAF. 
(c) 
Adding or deleting observations can alter the rank of the model. Such changes will only be detected when a call to G02DDF has been made. G02DDF should also be used to compute the new residual sum of squares when the model is not of full rank. 
G02DCF may also be used after
G02DEF,
G02DFF and
G02EEF.
A dataset consisting of
$12$ observations with four independent variables is read in and a general linear regression model fitted by
G02DAF and parameter estimates printed. The last observation is then dropped and the parameter estimates recalculated, using
G02DDF, and printed. Finally a new observation is added and new parameter estimates computed and printed.