# [R] Factors and Multinomial Logistic Regression

Lorenzo Isella lorenzo.isella at gmail.com
Wed May 1 22:40:08 CEST 2013

```>
> (A) The example doesn't run for me. library(ares) is not available on
> current R versions, but even where it is available, it doesn't provide a
> multinom() function?

Apologies, ares is not needed at all. Please find the correct script at
the end of the email.

>
> (B) If I insert library(nnet), to get a multinom(), I get exactly the
> same result as Stata does!
>
> Did you by any chance diddle with options(contrasts=...)?
>
> -pd

No, I did not. The point is that if I use a variable female, which has two
levels, then I do not reproduce the results of stata for that variable
only.
If instead I define a variable "sex" which assumes the numerical values
0/1, then I reproduce entirely the results by stata.

Hope this helps.

Lorenzo

##################################################################

library(foreign)

## See the Stata example at http://bit.ly/11VG4ha

sex <- rep(0, dim(mydata))

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)))

```