[R] applying summary() to an object created with ols()
Mark Difford
mark_difford at yahoo.co.uk
Sat Aug 22 09:08:45 CEST 2009
Hi Benjamin,
>> Does anyone know how I can set the *datadist()* and the *options()* such
>> that I will get access to all coefficients?
## Do this before you fit your models, i.e. tell datadist &c what data set
you are using.
d <- datadist( subset(aa, Jahr>=1957 & Jahr<=1966) )
options( datadist = "d" )
d
You can specify the limits yourself when you call plot.Design or
summary.Design, but this automates the process.
Regards, Mark.
Benjamin Volland wrote:
>
> Hello R-list,
>
> I am trying to calculate a ridge regression using first the *lm.ridge()*
> function from the MASS package and then applying the obtained Hoerl
> Kennard Baldwin (HKB) estimator as a penalty scalar to the *ols()*
> function provided by Frank Harrell in his Design package.
> It looks like this:
> > rrk1<-lm.ridge(lnbcpc ~ lntex + lnbeerp + lnwinep + lntemp + pop,
> subset(aa, Jahr>=1957 & Jahr<=1966))
> > f <- ols(lnbcpc ~ lntex + lnbeerp + lnwinep + lntemp + pop,
> subset(aa, Jahr>=1957 & Jahr<=1966), penalty = rrk$kHKB)
> > f
>
> which returns
> >Linear Regression Model
> >
> >ols(formula = lnbcpc ~ lntex + lnbeerp + lnwinep + lntemp + pop,
> > data = subset(aa, Jahr >= 1957 & Jahr <= 1966), penalty = rrk$kHKB)
> >
> > n Model L.R. d.f. R2 Sigma
> > 10 38.59 8.814 0.9839 0.02796
> >
> >Residuals:
> > 1 2 3 4 5 6
> 7 8 9 10
> >-0.014653 -0.002787 0.017515 -0.018145 -0.008757 -0.008035 0.006066
> 0.045826 -0.001244 -0.015786
> >
> >Coefficients:
> > Value Std. Error t Pr(>|t|)
> >Intercept 1.5240 3.3034 0.4613 0.8496
> >lntex 0.3722 0.2071 1.7975 0.6801
> >lnbeerp 0.9085 0.5760 1.5771 0.6964
> >lnwinep -0.1458 0.1874 -0.7781 0.7863
> >lntemp -0.0772 0.1344 -0.5743 0.8240
> >pop -4.1889 1.9286 -2.1720 0.6571
> >
> >Adjusted R-Squared: 0.2227
>
> All in all beautiful (leaving aside that the results suck). The problem
> starts when I want to write the obtained coefficients (incl. Std.
> Errors, t-, and p-values) into a matrix.
> Via the *f$coef* command I can only access the betas (1st column) and
> using the *summary(f)* function I get
> > summary(f)
> >Fehler in summary.Design(f) :
> >adjustment values not defined here or with datadist for lntex lnbeerp
> lnwinep lntemp pop
>
> Does anyone know how I can set the *datadist()* and the *options()* such
> that I will get access to all coefficients?
>
> I tried:
> > options(datadist=NULL)
> > f <- ols(lnbcpc ~ lntex + lnbeerp + lnwinep + lntemp + pop,
> subset(aa, Jahr>=1957 & Jahr<=1966), penalty = rrk$kHKB)
> > d <- datadist(f)
> but got:
> > Fehler in sort.list(unique(y)) : 'x' must be atomic for 'sort.list'
> > Have you called 'sort' on a list?
>
> In the R documentation on ?ols() it states concerning the values
> returned: "the same objects returned from |lm| (/unless |penalty| or
> |penalty.matrix| are given/ - then an abbreviated list is returned since
> |lm.pfit| is used as a fitter)..." Unfortunately no information seems to
> be available on lm.pfit.
> Does anyone know why the using that function leads to an abbreviated
> return list? Is there a trick to circumvent that?
>
> Thanks
> Benjamin Volland
>
> P.S. Currently using R-version 2.7.1 on a Windows PC.
>
> ______________________________________________
> 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.
>
>
--
View this message in context: http://www.nabble.com/applying-summary%28%29-to-an-object-created-with-ols%28%29-tp25083729p25091255.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list