On Fri, 13 Aug 2010, Maha Bakoben wrote:

Hi,

I'm trying to fit a multinomial logistic regression to my data which
consists of 5 discrete variables (scales 1:10) and 1000 observations.

I get the following error:

Error in `row.names<-.data.frame`(`*tmp*`, value = c("NA.NA", "NA.NA",  :
 duplicate 'row.names' are not allowed
In addition: Warning message:
non-unique value when setting 'row.names': ?NA.NA?

My code:

flevel1$Q120<-as.factor(flevel1$Q120)
MData<-mlogit.data(flevel1, varying=NULL,choice="Q120", shape="wide")
LogitModel<-mlogit(flevel1$Q120~1|flevel1$Q92, data=MData)

It's hard to say what you do wrong because you don't provide a reproducible example. (Please see the posting guide, linked at the end of this e-mail, for good posting practices.)

But it certainly looks suspicious that you force mlogit to use the variables from flevel1 but provide data = MData. Try to do

  mlogit(Q120 ~ 1 | Q92, data = MData)

In general, it is recommended to use

  y ~ x, data = mydata

in R, where "mydata" contains (the appropriate version of y and x). It typically leads to identical results as

  mydata$y ~ mydata$x

which is, however, less elegant, especially if more variables are involved. But using

  otherdata$y ~ otherdata$x, data = mydata

is very likely to lead to confusion...

hth,
Z

MData[1:10,]
    Q56 Q92 Q102 Q119  Q120
1.1   10   7   10   10 FALSE
1.10  10   7   10   10  TRUE
1.2   10   7   10   10 FALSE
1.3   10   7   10   10 FALSE
1.4   10   7   10   10 FALSE
1.5   10   7   10   10 FALSE
1.6   10   7   10   10 FALSE
1.7   10   7   10   10 FALSE
1.8   10   7   10   10 FALSE
1.9   10   7   10   10 FALSE



Your help will be greatly appreciated.

Maha

        [[alternative HTML version deleted]]



______________________________________________
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