次の R コードを考えてみましょう (最終的に Fortran を呼び出すと思います)。
X <- 1:1000
Y <- rep(1,1000)
summary(lm(Y~X))
summary によって値が返されるのはなぜですか? Y には分散がないため、このモデルは当てはまらないのではないでしょうか? さらに重要なのは、なぜモデルが R^2 ~= .5 なのですか?
編集
コードを lm から lm.fit まで追跡したところ、次の呼び出しが表示されました。
z <- .Fortran("dqrls", qr = x, n = n, p = p, y = y, ny = ny,
tol = as.double(tol), coefficients = mat.or.vec(p, ny), residuals = y,
effects = y, rank = integer(1L), pivot = 1L:p, qraux = double(p),
work = double(2 * p), PACKAGE = "base")
それが実際の適合が起こるように見えるところです。http://svn.r-project.org/R/trunk/src/appl/dqrls.f )を見ても、何が起こっているのか理解できませんでした。なぜなら、私は fortran を知らないからです。