Aşağıdaki R kodunu düşünün:
example <- function(n) {
X <- 1:n
Y <- rep(1,n)
return(lm(Y~X))
}
#(2.13.0, i386-pc-mingw32)
summary(example(7)) #R^2 = .1963
summary(example(62)) #R^2 = .4529
summary(example(4540)) #R^2 = .7832
summary(example(104))) #R^2 = 0
#I did a search for n 6:10000, the result for R^2 is NaN for
#n = 2, 4, 16, 64, 256, 1024, 2085 (not a typo), 4096, 6175 (not a typo), and 8340 (not a typo)
Http://svn.r-project.org/R/trunk/src/appl/dqrls.f ) adresine bakmak, neler olduğunu anlamama yardımcı olmadı, çünkü Fortran'ı bilmiyorum. Başka bir soruda , kayan nokta makine tolerans hatalarının X için katsayılar için sorumlu olduğu, ancak tam olarak 0 olmadığı yanıtlandı.
değeri için zaman büyüktüryakın 0'a Ama etmektir ...coef(example(n))["X"]
- Neden hiç değeri var ?
- Onu (özellikle) belirleyen nedir?
- Neden
NaNsonuçların görünüşte düzenli ilerlemesi ? - Neden bu ilerlemenin ihlalleri?
- Bu 'beklenen' davranış nedir?
Y <- rep(1,n)+runif(n)*ynoise), bu ilginç olurdu :-)
apply(as.matrix(2:17), 1, function(n){example(n)$coefficients[-1]}). (Win 7 x64 Xeon'da sonuçlarım -8e-17 ila + 3e-16 arasında değişiyor; yaklaşık yarısı gerçek sıfır.) BTW, Fortran kaynağı hiç yardımcı değil: sadece dqrdc için bir sarıcı; bakmak istediğiniz kod budur.