On May 2, 2013, at 20:33 , Lorenzo Isella wrote:

> On Wed, 01 May 2013 23:49:07 +0200, peter dalgaard <pda...@gmail.com> wrote:
> 
>> It still doesn't work!!!!!
>> 
> 
> 
> Apologies; since I had already imported nnet in my workspace, the script 
> worked on my machine even without importing it explicitly (see the script at 
> the end of the email).
> Sorry for the confusion.

You still owe us an answer why you thought that this:

Coefficients:
     (Intercept)     science       socst femalefemale
low     1.912288 -0.02356494 -0.03892428   0.81659717
high   -4.057284  0.02292179  0.04300323  -0.03287211

Std. Errors:
     (Intercept)    science      socst femalefemale
low     1.127255 0.02097468 0.01951649    0.3909804
high    1.222937 0.02087182 0.01988933    0.3500151

Residual Deviance: 388.0697 

is at all different from the Stata output. As far as I can tell it is EXACTLY 
the same!

Apologies for being insistent, but this will come up in Internet searches as "I 
couldn't make R do what Stata does".

> 
> I now mainly have a question about a definition: I can easily calculate the 
> relative risk ratio (RRR) and its confidence interval (CI) for a given 
> variable of my multinomial regression by exponentiating the variable and its 
> original CI.
> However, how is the standard error on the RRR defined? This is now the only 
> part of the stata calculation which I cannot reproduce.
> Cheers
> 

They would appear just to be delta-method based. 

s.e.(f(thetahat)) =~ f'(thetahat) s.e.(thetahat)

in casu f() is exp() and, e.g., looking at the coef. for female in the "low" 
table:

> .3909813 * exp(.8166202)
[1] 0.8847277

(It is a pretty useless quantity. Stata itself doesn't use it for much, either.)

> cc <- summary(mymodel)
> exp(cc$coefficients) * cc$standard.errors
     (Intercept)    science      socst femalefemale
low   7.62989469 0.02048619 0.01877141    0.8847053
high  0.02115184 0.02135577 0.02076329    0.3386964



> Lorenzo
> 
> ##############################################################################################
> 
> 
> 
> library(foreign)
> library(nnet)
> ## See the Stata example at http://bit.ly/11VG4ha
> 
> mydata <- read.dta("http://www.ats.ucla.edu/stat/data/hsb2.dta";)
> 
> 
> sex <- rep(0, dim(mydata)[1])
> 
> sel <- which(mydata$female=="male")
> 
> sex[sel] <- 1
> 
> mydata$sex <- sex
> 
> ## IMPORTANT: redefine the base line!!!
> 
> mydata$ses2 <- relevel(mydata$ses, ref = "middle")
> 
> 
> ## NB: for some reason, if I use female (a factor assuming two values)
> ## I do not reproduce the results of the example.
> ## I need to use a variable which is numeric and assumes two values
> ## (that is why I introduced the variable sex))
> 
> ## mymodel <- multinom(ses2 ~ science+ socst+ sex, data=mydata)
> 
> 
> mymodel <- multinom(ses2 ~ science+ socst+ female, data=mydata)
> 
> 
> 
> 
> print(summary(mymodel))
> 
> print("The relative risk ratio (RRR) is, ")
> 
> print(exp(coef(mymodel)))

-- 
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd....@cbs.dk  Priv: pda...@gmail.com

______________________________________________
R-help@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.

Reply via email to