| zlm.wfit {complexlm} | R Documentation | 
Least-Squares Linear Fitting for Complex Variables
Description
The function eventually called by lm(), lm.fit(), and/or lm.wfit() if fed complex data.
Performs ordinary (least-squares) linear fitting on complex variable data.
Like stats::lm.wfit(), which it is based off of, it uses qr decomposition
for the matrix algebra. Unlike stats::lm.wfit() it also handles un-weighted
regression, by setting the weights to 1 by default.
Usage
zlm.wfit(
  x,
  y,
  w = rep(1L, ifelse(is.vector(x), length(x), nrow(x))),
  offset = NULL,
  method = "qr",
  tol = 1e-07,
  singular.ok = TRUE,
  ...
)
Arguments
| x | a complex design matrix,  | 
| y | a vector of observations/responses of length  | 
| w | a vector of weights to be used in the fitting process. The sum of  | 
| offset | optional. A complex vector of length n that will be subtracted from y prior to fitting. | 
| method | optional. a string that can be used to choose any method you would like. As long as it is "qr". | 
| tol | tolerance for the qr decomposition. Default is 1e-7. | 
| singular.ok | logical. If false, a singular model is an error. | 
| ... | currently disregarded. | 
Value
a list with components (for lm.fit and lm.wfit)
| coefficients | 
 | 
| residuals | 
 | 
| fitted.values | 
 | 
| effects | 
 | 
| weights | 
 | 
| rank | integer, giving the rank | 
| df.residual | degrees of freedom of residuals | 
| qr | the QR decomposition, see  | 
Fits without any columns or non-zero weights do not have the
effects and qr components.
.lm.fit() returns a subset of the above, the qr part
unwrapped, plus a logical component pivoted indicating if the
underlying QR algorithm did pivot.
Examples
set.seed(4242)
n <- 6
p <- 2
slop <- complex(real = 4.23, imaginary = 2.323)
slop2 = complex(real = 2.1, imaginary = -3.9)
interc <- complex(real = 1.4, imaginary = 1.804)
e <- complex(real=rnorm(n)/6, imaginary=rnorm(n)/6)
desmat <- matrix(c(complex(real = rnorm(n * p), imaginary = rnorm(n * p)), rep(1, n)), n, p + 1)
y = desmat %*% c(slop, slop2, interc) + e
lm.fit(desmat, y)