On Fri, Aug 3, 2012 at 4:27 AM, Lee van Cleef <l.van.cl...@gmx.net> wrote: > Ingmar, > > many thanks for your answer. > > I give you a smaller version of my program with the isolated "strange" > variable, which I used when trying to elaborate the problem . > > [Start of R-Editor quote] > library(foreign) > library(gdata) > library(gtools) > library(gmodels) > library(gplots) > library(xtable) > library(mlogit) > library(survival) > > #First I import the data, a survey in the wide format. > masterdata <- read.dta("E:/Masterdata.dta")
I'm afraid this line makes it hard for us to reproduce this otherwise quite helpful example: can you give us dput(head(masterdata, 20)) which will give a plain text representation of the same? Don't worry if you can't understand what shows up -- it's super helpful for us. Best, Michael > > #Then I define the number of cases which is the dimension of rows of the > imported dataset. > > cases <- dim(masterdata)[1] > > # The conditional Logit-Model must have the form Y = aX, with Y as the > choice variable > # and X as the explaining one. > > # These are the headings for the explaining variable. > Numbers <- c("2", "3", "4", "5", "6", "7") > > # I define the matrix for the explaining variable. ncol corresponds to the > number of choices; cases is the number of people surveyed. > X <- matrix(0, ncol=6, nrow=cases) > > # I define the choice variable. First, the answers become numeric values, > the I define the n.a.'s. > Y <- as.numeric(masterdata[,"V3D"]) > Y[Y == 1 | Y ==8 | Y == 9 | Y == 10 | Y == 11] <- NA > Y <- as.factor(Y - 1) > > #I import the answers from the survey in my matrix for the explaining > variable. > for (i in 1:5){X[,i][as.numeric(factor(masterdata$VS))==i] <- 1} > colnames (X) <- paste("X", Numbers, sep=".") > # I put my data set together and delete the NA options. > masterdata.wide <- cbind (Y, X) > masterdata.wide <- na.omit(masterdata.wide) > head(masterdata.wide) > > masterdata.long <- mlogit.data(masterdata.wide, varying = c(2:7), shape = > "wide", choice = "Y") > > [End of R-Editor quote] > > The first problem arises before the Condlog-order. R does not transform wide > into long and says: Error in data[[choice]] : subscript out of bounds > > In the extended version, transforming from wide to long is no problem, no > idea why. But then, R says after Condlog: Error in > model.frame.default(terms(formula, lhs = lhs, rhs = rhs, data = data), : > variable lengths differ (found for 'X'). > > Other variables (alternative specific or with a generic regression > coefficient) apart from X work. I checked the variable lengths, but the > complete Logit-Model is working without problems for other variables with > the same lengths. > > Which options do I have to address the problems with X? I did not find > anything via the Str-Option on first sight. > > Any comment where and how I can look for would really be appreciated. > > Best regards! > > > > > > > > > -- > View this message in context: > http://r.789695.n4.nabble.com/length-of-variable-in-mlogit-tp4638323p4639025.html > Sent from the R help mailing list archive at Nabble.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. ______________________________________________ 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.