Residual standard error: NaN on 0 degrees of freedom in lm analysis

Hi all
I am doing Multiple regression analysis using lm in r
and I found the result "Residual standard error: NaN on 0 degrees of freedom"

here is the code i used

fit.test<- lm(aboundance  ~ .,testdata)
summ.test=summary(fit.test)

and the result was show below

Call:
lm(formula = V119 ~ ., data = testdata)

Residuals:
ALL 107 residuals are 0: no residual degrees of freedom!

Coefficients: (12 not defined because of singularities)
              Estimate Std. Error t value Pr(>|t|)
(Intercept)  3.507e-14        NaN     NaN      NaN
X1           5.732e+00        NaN     NaN      NaN
X2           3.354e+00        NaN     NaN      NaN
X3          -5.877e+00        NaN     NaN      NaN
X4          -1.023e+00        NaN     NaN      NaN
X5          -4.613e+00        NaN     NaN      NaN
X6           5.868e+00        NaN     NaN      NaN
X7           1.690e+00        NaN     NaN      NaN
X8          -1.414e+01        NaN     NaN      NaN
X9           3.687e+00        NaN     NaN      NaN
X10         -5.228e-01        NaN     NaN      NaN
X11         -8.531e+00        NaN     NaN      NaN
X12          1.837e+01        NaN     NaN      NaN
X13         -4.735e+00        NaN     NaN      NaN
X14          2.378e+00        NaN     NaN      NaN
X15         -2.319e-01        NaN     NaN      NaN
X16         -9.216e+00        NaN     NaN      NaN
X17         -4.357e+00        NaN     NaN      NaN
X18         -4.291e+00        NaN     NaN      NaN
X19         -5.246e+00        NaN     NaN      NaN
X20         -2.910e-01        NaN     NaN      NaN
X21          3.328e+00        NaN     NaN      NaN
X22         -4.683e+00        NaN     NaN      NaN
X23         -1.396e+00        NaN     NaN      NaN
X24         -3.532e+00        NaN     NaN      NaN
X25          4.787e+00        NaN     NaN      NaN
X26          3.500e-01        NaN     NaN      NaN
X27          2.411e+01        NaN     NaN      NaN
X28          1.033e+00        NaN     NaN      NaN
X29         -1.038e+01        NaN     NaN      NaN
X30         -8.006e+00        NaN     NaN      NaN
X31          2.319e+01        NaN     NaN      NaN
X32         -7.094e+00        NaN     NaN      NaN
X33          1.354e+00        NaN     NaN      NaN
X34         -4.820e+00        NaN     NaN      NaN
X35          4.027e+00        NaN     NaN      NaN
X36          7.829e+00        NaN     NaN      NaN
X37          3.204e+00        NaN     NaN      NaN
X38          2.587e+00        NaN     NaN      NaN
X39          5.554e+00        NaN     NaN      NaN
X40          1.805e+00        NaN     NaN      NaN
X41          9.771e+00        NaN     NaN      NaN
X42         -2.459e+01        NaN     NaN      NaN
X43          3.139e+00        NaN     NaN      NaN
X44         -8.810e+00        NaN     NaN      NaN
X45         -1.553e+01        NaN     NaN      NaN
X46          5.649e-01        NaN     NaN      NaN
X47         -1.751e+00        NaN     NaN      NaN
X48         -8.231e+00        NaN     NaN      NaN
X49          3.460e+00        NaN     NaN      NaN
X50          2.967e+00        NaN     NaN      NaN
X51         -4.660e+00        NaN     NaN      NaN
X52          7.643e-01        NaN     NaN      NaN
X53          5.310e+00        NaN     NaN      NaN
X54          2.588e-01        NaN     NaN      NaN
X55          2.286e+01        NaN     NaN      NaN
X56          6.095e+00        NaN     NaN      NaN
X57          1.004e+01        NaN     NaN      NaN
X58         -1.395e+01        NaN     NaN      NaN
X59          1.374e+00        NaN     NaN      NaN
X60          1.386e+01        NaN     NaN      NaN
X61         -3.201e+00        NaN     NaN      NaN
X62         -7.281e+00        NaN     NaN      NaN
X63         -1.319e+00        NaN     NaN      NaN
X64         -4.492e+00        NaN     NaN      NaN
X65         -3.007e+00        NaN     NaN      NaN
X66         -5.713e+00        NaN     NaN      NaN
X67         -3.104e+00        NaN     NaN      NaN
X68          2.382e+00        NaN     NaN      NaN
X69         -5.310e-01        NaN     NaN      NaN
X70          1.557e+00        NaN     NaN      NaN
X71         -1.871e-01        NaN     NaN      NaN
X72         -1.207e+00        NaN     NaN      NaN
X73         -5.912e+00        NaN     NaN      NaN
X74          3.344e+00        NaN     NaN      NaN
X75         -6.906e+00        NaN     NaN      NaN
X76         -9.931e+00        NaN     NaN      NaN
X77          3.362e+00        NaN     NaN      NaN
X78          5.663e-01        NaN     NaN      NaN
X79          9.095e+00        NaN     NaN      NaN
X80          5.678e+00        NaN     NaN      NaN
X81         -3.331e-01        NaN     NaN      NaN
X82         -6.525e-01        NaN     NaN      NaN
X83          1.208e+00        NaN     NaN      NaN
X84          4.987e-01        NaN     NaN      NaN
X85          4.414e+00        NaN     NaN      NaN
X86         -1.990e-01        NaN     NaN      NaN
X87          1.819e+00        NaN     NaN      NaN
X88          4.488e+00        NaN     NaN      NaN
X89          5.931e+00        NaN     NaN      NaN
X90         -1.738e+01        NaN     NaN      NaN
X91         -1.868e-02        NaN     NaN      NaN
X92          6.282e+00        NaN     NaN      NaN
X93         -9.166e-01        NaN     NaN      NaN
X94         -8.232e-01        NaN     NaN      NaN
X95          1.132e+01        NaN     NaN      NaN
X96         -7.346e+00        NaN     NaN      NaN
X97         -4.918e-01        NaN     NaN      NaN
X98         -1.686e+01        NaN     NaN      NaN
X99         -2.403e+00        NaN     NaN      NaN
X100         9.663e+00        NaN     NaN      NaN
X101         8.096e+00        NaN     NaN      NaN
X102        -5.056e+00        NaN     NaN      NaN
X103        -1.487e+01        NaN     NaN      NaN
X104        -8.461e+00        NaN     NaN      NaN
X105         4.412e+00        NaN     NaN      NaN
X106         4.085e+00        NaN     NaN      NaN
X107                NA         NA      NA       NA
X108                NA         NA      NA       NA
X109                NA         NA      NA       NA
X110                NA         NA      NA       NA
X111                NA         NA      NA       NA
X112                NA         NA      NA       NA
X113                NA         NA      NA       NA
X114                NA         NA      NA       NA
X115                NA         NA      NA       NA
X116                NA         NA      NA       NA
X117                NA         NA      NA       NA
X118                NA         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:      1,	Adjusted R-squared:    NaN 
F-statistic:   NaN on 106 and 0 DF,  p-value: NA

I also tried the subset for example.

fit.test2<- lm(V119  ~X1+X2+X3+X4+X5+X6+X7+X8+X9+X10,testdata)
summ.test2=summary(fit.test2)

and it was worked and the result was

Call:
lm(formula = V119 ~ X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + 
    X10 + X50, data = M111111)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.1795 -0.3956 -0.0951  0.2310  3.4963 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  1.121e-16  6.858e-02   0.000  1.00000    
X1           6.173e-01  7.825e-02   7.888 5.17e-12 ***
X2          -4.004e-01  1.265e-01  -3.164  0.00209 ** 
X3          -7.946e-02  1.071e-01  -0.742  0.46001    
X4           2.448e-02  7.027e-02   0.348  0.72830    
X5           1.551e-01  8.949e-02   1.733  0.08632 .  
X6          -4.404e-02  8.396e-02  -0.525  0.60113    
X7          -1.691e-01  7.177e-02  -2.356  0.02051 *  
X8          -8.144e-02  9.065e-02  -0.898  0.37126    
X9           7.668e-03  9.166e-02   0.084  0.93351    
X10         -5.472e-03  7.700e-02  -0.071  0.94349    
X50          1.682e-01  7.737e-02   2.174  0.03222 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.7094 on 95 degrees of freedom
Multiple R-squared:  0.549,	Adjusted R-squared:  0.4967 
F-statistic: 10.51 on 11 and 95 DF,  p-value: 2.357e-12

The attach link is the data set I used

Do anyone know what happen ?
Any comments and suggestions will be appreciated

Sincerely

The very short answer is

> dim(testdata)
[1] 107 120

meaning more columns than rows, meaning in turn more variables than observations, which directly leads to the NaN on 0 degrees of freedom.

NaN means not a number, as in

> 0/0
[1] NaN

because mathematically that is undefined. Floating point limitations can also produce NaNs.

This brings us to what does it mean to have 0 degrees of freedom? Unfortunately, the concept of degrees of freedom doesn't really get unpacked for people who didn't train as statisticians. For we mere mortals if we remember it at all, the details are at best hazy. The wiki article will put some oomph into the notion, but I'm not going to try to explicate it here because I think of 0 degrees of freedom as the equivalent of a kid running out of fingers and toes when trying to count. This is one of the aspects of [the curse of dimensionality](Hastie, T., Tibshirani, R. and Friedman, J. (2013). The elements of statistical learning. 7th ed. In text: (Hastie, Tibshirani and Friedman, 2013))

1 Like

@technocrat gives a more detailed answer. For a bit of further intuition, you'll remember that if you have two points you can run a line through them perfectly. Similarly, if you have 107 coefficients to estimate you can run a 107 dimensional hyperplane perfectly. In other words, you've fit the data perfectly so the R-squared equals 1 and there are no errors.

1 Like

Plus potential for collinearity.

This topic was automatically closed 42 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.