[R] problem with lm, and summary.lm

Tolga Uzuner tolga.uzuner at gmail.com
Sun Nov 16 18:20:27 CET 2008


Dear Gabor,

Many thanks. That snippet of code also works for me (below). I am 
currently on 2.8.0.

However, it continues to fail on the specific data I am using. I have 
attached the data in data.RData, attached here. If you save this file 
into the working directory and run the following, that should illustrate 
the problem.

library(zoo)
load("data.RData")
regrlm<-lm(foo~bar+baz)
regrlm
summary(regrlm)

If you get the chance, would be interested to see if it fails for you as 
well.

Thanks again,
Tolga

############ Gabor's code ####################
 > library(zoo)
 > z <- 1:10
 > x <- z*z
 > y <- x*z
 > lm(z ~ x + y)

Call:
lm(formula = z ~ x + y)

Coefficients:
(Intercept) x y
1.24700 0.20194 -0.01164

 > summary(lm(z ~ x + y))

Call:
lm(formula = z ~ x + y)

Residuals:
Min 1Q Median 3Q Max
-0.43730 -0.14095 0.01808 0.19070 0.26702

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.246998 0.179253 6.957 0.000220 ***
x 0.201943 0.015878 12.718 4.3e-06 ***
y -0.011642 0.001579 -7.375 0.000153 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.2598 on 7 degrees of freedom
Multiple R-squared: 0.9943, Adjusted R-squared: 0.9926
F-statistic: 607.6 on 2 and 7 DF, p-value: 1.422e-08

 > sessionInfo()
R version 2.8.0 (2008-10-20)
i386-pc-mingw32

locale:
LC_COLLATE=English_United Kingdom.1252;LC_CTYPE=English_United 
Kingdom.1252;LC_MONETARY=English_United 
Kingdom.1252;LC_NUMERIC=C;LC_TIME=English_United Kingdom.1252

attached base packages:
[1] stats graphics grDevices utils datasets methods base

other attached packages:
[1] lpSolve_5.6.4 leaps_2.7 nortest_1.0
[4] numDeriv_2006.4-1 bcp_2.1 snow_0.3-3
[7] fArma_270.74 fBasics_280.74 timeSeries_280.78
[10] timeDate_280.80 PerformanceAnalytics_0.9.7.1 tseries_0.10-16
[13] quadprog_1.4-11 vars_1.4-0 urca_1.1-7
[16] MASS_7.2-44 MSBVAR_0.3.2 coda_0.13-3
[19] lattice_0.17-15 xtable_1.5-4 KernSmooth_2.22-22
[22] RODBC_1.2-3 corrgram_0.1 nlme_3.1-89
[25] lmtest_0.9-21 car_1.2-9 strucchange_1.3-4
[28] sandwich_2.1-0 zoo_1.5-4

loaded via a namespace (and not attached):
[1] grid_2.8.0 tools_2.8.0
 >



Gabor Grothendieck wrote:
> Try upgrading to R 2.8.0 patched.  This works for me
> using R 2.8.0 patched from Nov 10th:
>
> library(zoo)
> z <- 1:10
> x <- z*z
> y <- x*z
> lm(z ~ x + y)
> summary(lm(z ~ x + y))
>
>   
>> packageDescription("zoo")$Version
>>     
> [1] "1.5-4"
>   
>> R.version.string # Vista
>>     
> [1] "R version 2.8.0 Patched (2008-11-10 r46884)"
>
>
> On Sun, Nov 16, 2008 at 7:32 AM, Tolga Uzuner <tolga.uzuner at gmail.com> wrote:
>   
>> Dear R Users,
>>
>> I am having a weird problem. I have three zoo time series, foo, bar and baz.
>> I run a simple linear regression with foo as the dependent and bar+baz as
>> independents. Even though the regression runs fine, summary seems to
>> fail.The code is below. I am happy to send the data along. I am on R 2.8.0
>> and Windows XP SP2. Traceback (below, a ton of numbers cut out to make it
>> readable but I can provide the data). reveals the problem is in a function
>> called gt. sessioninfo is at the bottom.
>>
>> Any suggestions ? I upgraded to 2.8.0 this morning after replaced 2.7.1 and
>> I almost feel the new version is at fault but I could be inferring too
>> much...
>>
>> Thanks in advance,
>> Tolga
>>
>> cooks.distance also reveals the same problem.
>>
>>     
>>> length(foo)
>>>       
>> [1] 258
>>     
>>> length(foo)
>>>       
>> [1] 258
>>     
>>> length(bar)
>>>       
>> [1] 258
>>     
>>> length(baz)
>>>       
>> [1] 258
>>     
>>> regrlm<-lm(foo~bar+baz)
>>> regrlm
>>>       
>> Call:
>> lm(formula = foo ~ bar + baz)
>>
>> Coefficients:
>> (Intercept)          bar          baz   1082.39        12.72    -20176.67
>>     
>>> summary(regrlm)
>>>       
>> Call:
>> lm(formula = foo ~ bar + baz)
>>
>> Residuals:
>> Error in if (xi == xj) 0L else if (xi > xj) 1L else -1L :
>>  argument is of length zero
>>     
>>> traceback()
>>>       
>> 19: .gt(c(145.181456007549, 118.279525850693, 111.250750147955,
>> 89.1393551953539,
>> MANY MANY NUMBERS
>>   -67.9948569260507, -146.080176235300), 250L, 246L)
>> 18: switch(ties.method, average = , min = , max = .Internal(rank(x[!nas],
>>       ties.method)), first = sort.list(sort.list(x[!nas])), random =
>> sort.list(order(x[!nas],
>>       stats::runif(sum(!nas)))))
>> 17: rank(x, ties.method = "min", na.last = "keep")
>> 16: as.vector(rank(x, ties.method = "min", na.last = "keep"))
>> 15: xtfrm.default(x)
>> 14: xtfrm(x)
>> 13: FUN(X[[1L]], ...)
>> 12: lapply(z, function(x) if (is.object(x)) xtfrm(x) else x)
>> 11: order(x, na.last = na.last, decreasing = decreasing)
>> 10: `[.zoo`(x, order(x, na.last = na.last, decreasing = decreasing))
>> 9: x[order(x, na.last = na.last, decreasing = decreasing)]
>> 8: sort.default(x, partial = unique(c(lo, hi)))
>> 7: sort(x, partial = unique(c(lo, hi)))
>> 6: quantile.default(resid)
>> 5: quantile(resid)
>> 4: structure(quantile(resid), names = nam)
>> 3: print.summary.lm(list(call = lm(formula = foo ~ bar + baz), terms = foo ~
>>      bar + baz, residuals = c(145.181456007549, 118.279525850693,
>> MANY MANY NUMBERS   -97.6817272270226, -101.621851940748, -67.9948569260507,
>> -146.080176235300
>>  ), coefficients = c(1082.39330190496, 12.7191319384837, -20176.6660075191,
>>  36.7646530199551, 0.752346859475059, 1097.00127070372, 29.4411401439708,
>>  16.9059414262171, -18.3925639343844, 5.30095123419022e-84,
>> 1.60626441787295e-43,
>>  1.15247513614373e-48), aliased = c(FALSE, FALSE, FALSE), sigma =
>> 90.0587318356495,
>>      df = c(3L, 255L, 3L), r.squared = 0.767559392535633, adj.r.squared =
>> 0.765736328947677,
>>      fstatistic = c(421.027219021081, 2, 255), cov.unscaled =
>> c(0.166651523684348,
>>      -0.00308410770161002, -3.08083131687658, -0.00308410770161002,
>>      6.9788613558326e-05, 0.0263943284503598, -3.08083131687658,
>>      0.0263943284503598, 148.375640597725)))
>> 2: print(list(call = lm(formula = foo ~ bar + baz), terms = foo ~
>>      bar + baz, residuals = c(145.181456007549, 118.279525850693,
>> MANY MANY NUMBERS
>>  -97.6817272270226, -101.621851940748, -67.9948569260507, -146.080176235300
>>  ), coefficients = c(1082.39330190496, 12.7191319384837, -20176.6660075191,
>>  36.7646530199551, 0.752346859475059, 1097.00127070372, 29.4411401439708,
>>  16.9059414262171, -18.3925639343844, 5.30095123419022e-84,
>> 1.60626441787295e-43,
>>  1.15247513614373e-48), aliased = c(FALSE, FALSE, FALSE), sigma =
>> 90.0587318356495,
>>      df = c(3L, 255L, 3L), r.squared = 0.767559392535633, adj.r.squared =
>> 0.765736328947677,
>>      fstatistic = c(421.027219021081, 2, 255), cov.unscaled =
>> c(0.166651523684348,
>>      -0.00308410770161002, -3.08083131687658, -0.00308410770161002,
>>      6.9788613558326e-05, 0.0263943284503598, -3.08083131687658,
>>      0.0263943284503598, 148.375640597725)))
>> 1: print(list(call = lm(formula = foo ~ bar + baz), terms = foo ~
>>      bar + baz, residuals = c(145.181456007549, 118.279525850693,
>> MANY MANY NUMBERS   -97.6817272270226, -101.621851940748, -67.9948569260507,
>> -146.080176235300
>>  ), coefficients = c(1082.39330190496, 12.7191319384837, -20176.6660075191,
>>  36.7646530199551, 0.752346859475059, 1097.00127070372, 29.4411401439708,
>>  16.9059414262171, -18.3925639343844, 5.30095123419022e-84,
>> 1.60626441787295e-43,
>>  1.15247513614373e-48), aliased = c(FALSE, FALSE, FALSE), sigma =
>> 90.0587318356495,
>>      df = c(3L, 255L, 3L), r.squared = 0.767559392535633, adj.r.squared =
>> 0.765736328947677,
>>      fstatistic = c(421.027219021081, 2, 255), cov.unscaled =
>> c(0.166651523684348,
>>      -0.00308410770161002, -3.08083131687658, -0.00308410770161002,
>>      6.9788613558326e-05, 0.0263943284503598, -3.08083131687658,
>>      0.0263943284503598, 148.375640597725)))
>>     
>>> sessionInfo()
>>>       
>> R version 2.8.0 (2008-10-20)
>> i386-pc-mingw32
>>
>> locale:
>> LC_COLLATE=English_United Kingdom.1252;LC_CTYPE=English_United
>> Kingdom.1252;LC_MONETARY=English_United
>> Kingdom.1252;LC_NUMERIC=C;LC_TIME=English_United Kingdom.1252
>>
>> attached base packages:
>> [1] stats     graphics  grDevices utils     datasets  methods   base
>> other attached packages:
>> [1] lpSolve_5.6.4                leaps_2.7                  [3] nortest_1.0
>>                  numDeriv_2006.4-1          [5] bcp_2.1
>>  snow_0.3-3                 [7] fArma_270.74                 fBasics_280.74
>>             [9] timeSeries_280.78            timeDate_280.80            [11]
>> PerformanceAnalytics_0.9.7.1 tseries_0.10-16            [13] quadprog_1.4-11
>>              vars_1.4-0                 [15] urca_1.1-7
>> MASS_7.2-44                [17] MSBVAR_0.3.2                 coda_0.13-3
>>            [19] lattice_0.17-15              xtable_1.5-4               [21]
>> KernSmooth_2.22-22           RODBC_1.2-3                [23] corrgram_0.1
>>               nlme_3.1-89                [25] lmtest_0.9-21
>>  car_1.2-9                  [27] strucchange_1.3-4            sandwich_2.1-0
>>             [29] zoo_1.5-4
>> loaded via a namespace (and not attached):
>> [1] grid_2.8.0  tools_2.8.0
>>     
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>>     
>
>   



More information about the R-help mailing list