考慮下列R-代碼(我認爲它,最終調用一些Fortran語言):爲什麼當預測值沒有差異時lm會返回值?
X <- 1:1000
Y <- rep(1,1000)
summary(lm(Y~X))
爲什麼值的彙總回來了?由於Y中沒有差異,這個模型不適合嗎?更重要的是,爲什麼模型R^2〜= 0.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。
啊,0.5的R^2是一個很有意思的問題。 – Iterator 2012-02-12 21:56:21
我想我會把它作爲一個單獨的問題,然後... – russellpierce 2012-02-14 03:16:02