ID EN
Miscellaneous

QR.Auxiliaries

R Base 3.6.2 🇮🇩 Bahasa Indonesia

Mengembalikan matriks asli dari mana objek dibuat atau komponen dekomposisi.

Syntax

R
qr.X(qr, complete = FALSE, ncol =)
qr.Q(qr, complete = FALSE, Dvec =)
qr.R(qr, complete = FALSE)

Arguments

Parameter Deskripsi
qr object representing a QR decomposition. This will typically have come from a previous call to qr or lsfit.
complete logical expression of length 1. Indicates whether an arbitrary orthogonal completion of the \(\bold{Q}\) or \(\bold{X}\) matrices is to be made, or whether the \(\bold{R}\) matrix is to be completed by binding zero-value rows beneath the square upper triangle.
ncol integer in the range 1:nrow(qr$qr). The number of columns to be in the reconstructed \(\bold{X}\). The default when complete is FALSE is the first min(ncol(X), nrow(X)) columns of the original \(\bold{X}\) from which the qr object was constructed. The default when complete is TRUE is a square matrix with the original \(\bold{X}\) in the first ncol(X) columns and an arbitrary orthogonal completion (unitary completion in the complex case) in the remaining columns.
Dvec vector (not matrix) of diagonal values. Each column of the returned \(\bold{Q}\) will be multiplied by the corresponding diagonal value. Defaults to all 1s.

Return Value

qr.X mengembalikan \(\bold{X}\), matriks asli tempat objek qr dibuat, asalkan ncol(X) <= nrow(X). Jika selesai adalah BENAR atau argumen ncol lebih besar dari ncol(X), kolom tambahan dari penyelesaian ortogonal (kesatuan) arbitrer dari X akan dikembalikan. qr.Q mengembalikan sebagian atau seluruh Q, transformasi ortogonal (kesatuan) orde-nrow(X) yang diwakili oleh qr. Jika selesai BENAR, Q mempunyai kolom sekarang(X). Jika selesai adalah FALSE, Q mempunyai kolom ncol(X). Ketika Dvec ditentukan, setiap kolom

Contoh

Example
R
# NOT RUN {
p <- ncol(x <- LifeCycleSavings[, -1]) # not the 'sr'
qrstr <- qr(x)   # dim(x) == c(n,p)
qrstr $ rank # = 4 = p
Q <- qr.Q(qrstr) # dim(Q) == dim(x)
R <- qr.R(qrstr) # dim(R) == ncol(x)
X <- qr.X(qrstr) # X == x
range(X - as.matrix(x))  # ~ < 6e-12
## X == Q %*% R if there has been no pivoting, as here:
all.equal(unname(X),
          unname(Q %*% R))

# example of pivoting
x <- cbind(int = 1,
           b1 = rep(1:0, each = 3), b2 = rep(0:1, each = 3),
           c1 = rep(c(1,0,0), 2), c2 = rep(c(0,1,0), 2), c3 = rep(c(0,0,1),2))
x # is singular, columns "b2" and "c3" are "extra"
a <- qr(x)
zapsmall(qr.R(a)) # columns are int b1 c1 c2 b2 c3
a$pivot
pivI <- sort.list(a$pivot) # the inverse permutation
all.equal (x,            qr.Q(a) %*% qr.R(a)) # no, no
stopifnot(
 all.equal(x[, a$pivot], qr.Q(a) %*% qr.R(a)),          # TRUE
 all.equal(x           , qr.Q(a) %*% qr.R(a)[, pivI]))  # TRUE too!
# }

See Also

qr qr.qy.