使用mlogit.data错误进行数据转换

问题描述

我了解Choice Modeling和mlogit(),并且正在遵循《 R for Marketing Research and Analytics》一书中的代码。我寻求帮助来解决遇到的错误

library(mlogit)
cbc.df <- read.csv("http://r-marketing.r-forge.r-project.org/data/rintro-chapter13conjoint.csv",colClasses = c(seat = "factor",price = "factor",choice="integer"))

cbc.mlogit <- mlogit.data(data=cbc.df,choice="choice",shape="long",varying=3:6,alt.levels=paste("pos",1:3),id.var="resp.id") 

Error in guess(varying) : 
  Failed to guess time-varying variables from their names
In addition: Warning message:
In dfidx::dfidx(data = data,dfa$idx,drop.index = dfa$drop.index,:
  the levels shouldn't be provided with a data set in wide format

感谢您提出任何修复建议。

解决方法

我在图书资源页面上找到了解决此问题的方法。该问题是由于mlogit 1.10更改了其数据结构以及调用mlogit.data()的代码引起的。 http://r-marketing.r-forge.r-project.org/errata.html