Peter Dunn
2005-Aug-12 04:14 UTC
[R] Help converting a function from S-Plus to R: family$weight
Hi all
I am converting an S-Plus function into R. The S-Plus code
uses some of the glm families, and family objects.
The family objects in S-Plus and R have many different
features, for example:
In R:
> names(Gamma())
[1] "family" "link" "linkfun"
"linkinv" "variance"
[6] "dev.resids" "aic" "mu.eta"
"initialize" "validmu"
[11] "valideta"
In S-Plus:
> names(Gamma())
[1] "family" "names" "link"
"inverse" "deriv"
[6] "initialize" "variance" "deviance"
"weight"
>
My question concerns the variable weight in the S-Plus function.
I'm not sure what it is. (I have searched the S-Plus mailing list
archive, and my "S-Plus for linux 6.1" documentation.) For almost all
family objects, the weight variable is the same as variance,
just weighted (and the former as a function; the later as an
expression):
> Gamma()$variance
function(mu)
mu^2
> Gamma()$weight
expression(w * mu^2.)
>
The same applies for most families. So I thought I could determine
what this weight variable was.
But alas--not the inverse,gaussian:
> inverse.gaussian()$variance
function(mu)
mu^3
> inverse.gaussian()$weight
expression(w/((sqrt(family$variance(mu)) * family$deriv(mu))^2.))
So:
- can anyone tell me what this expression weight represents?
- why is the inverse.gaussian family different than all others?
Thanks in advance.
P.
My S-Plus version:
> version
Version 6.2.1 for Linux 2.4.18 : 2003
My R version:
> version
_
platform i386-pc-linux-gnu
arch i386
os linux-gnu
system i386, linux-gnu
status
major 2
minor 1.0
year 2005
month 04
day 18
language R
>
--
Dr Peter Dunn | Senior Lecturer in Statistics
Faculty of Sciences, University of Southern Queensland
Web: http://www.sci.usq.edu.au/staff/dunn
Email: dunn <at> usq.edu.au
CRICOS: QLD 00244B | NSW 02225M | VIC 02387D | WA 02521C
Prof Brian Ripley
2005-Aug-13 09:07 UTC
[R] Help converting a function from S-Plus to R: family$weight
I think a question about the S family() functions is best determined by
reading the S(-PLUS) documentation. The weights component computes the
working weights for the IWLS, unsurprisingly (and as stated by
?family.object). R has mu.eta to do that, the crucial line in R's glm.fit
being
w <- sqrt((weights[good] * mu.eta.val[good]^2)/variance(mu)[good])
But you don't need to port S-only features to R. You do need to worry
about R-only features.
On Fri, 12 Aug 2005, Peter Dunn wrote:
> Hi all
>
> I am converting an S-Plus function into R. The S-Plus code
> uses some of the glm families, and family objects.
>
> The family objects in S-Plus and R have many different
> features, for example:
>
> In R:
> > names(Gamma())
> [1] "family" "link" "linkfun"
"linkinv" "variance"
> [6] "dev.resids" "aic" "mu.eta"
"initialize" "validmu"
> [11] "valideta"
>
> In S-Plus:
> > names(Gamma())
> [1] "family" "names" "link"
"inverse" "deriv"
> [6] "initialize" "variance" "deviance"
"weight"
> >
>
>
> My question concerns the variable weight in the S-Plus function.
> I'm not sure what it is. (I have searched the S-Plus mailing list
> archive, and my "S-Plus for linux 6.1" documentation.) For
almost all
> family objects, the weight variable is the same as variance,
> just weighted (and the former as a function; the later as an
> expression):
>
> > Gamma()$variance
> function(mu)
> mu^2
> > Gamma()$weight
> expression(w * mu^2.)
> >
>
> The same applies for most families. So I thought I could determine
> what this weight variable was.
>
> But alas--not the inverse,gaussian:
>
> > inverse.gaussian()$variance
> function(mu)
> mu^3
> > inverse.gaussian()$weight
> expression(w/((sqrt(family$variance(mu)) * family$deriv(mu))^2.))
>
>
> So:
> - can anyone tell me what this expression weight represents?
> - why is the inverse.gaussian family different than all others?
>
> Thanks in advance.
>
> P.
>
> My S-Plus version:
>
> > version
> Version 6.2.1 for Linux 2.4.18 : 2003
>
> My R version:
>
> > version
> _
> platform i386-pc-linux-gnu
> arch i386
> os linux-gnu
> system i386, linux-gnu
> status
> major 2
> minor 1.0
> year 2005
> month 04
> day 18
> language R
> >
>
>
> --
> Dr Peter Dunn | Senior Lecturer in Statistics
> Faculty of Sciences, University of Southern Queensland
> Web: http://www.sci.usq.edu.au/staff/dunn
> Email: dunn <at> usq.edu.au
> CRICOS: QLD 00244B | NSW 02225M | VIC 02387D | WA 02521C
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html
>
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
Reasonably Related Threads
- R/S-Plus equivalent to Genstat "predict": predictions over "averages" of covariates
- Sweave: pass scale parameter to includegraphics?
- NaN when using dffits, stemming from lm.influence call
- The best way to end up with WMF files
- Creating libraries: Cannot make help