R错误:`row.names < - .data.frame`(`*tmp*`,value = value)出错

Dan*_*iel 4 statistics r probability logistic-regression

我只是编写一个数据集来测试函数"mlogit",它代表"多项逻辑回归模型"

数据很简单:

head(dat)
   y x1 x2 x3
 1 4  1 18  4
 2 5  1 20  5
 3 2  1 25  3
 4 3  0 26  6
 5 4  0 26  8
 6 3  1 27  4
Run Code Online (Sandbox Code Playgroud)

然后当我打字

fit <- mlogit(y ~ x1 + x2 + x3, data=dat)
Run Code Online (Sandbox Code Playgroud)

出现以下消息:

Error in `row.names<-.data.frame`(`*tmp*`, value = value) : 
  invalid 'row.names' length
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么或如何解决它?

sco*_*sty 7

帮助说明:

'data'参数可以是普通的'data.frame'.在这种情况下,应提供一些补充参数并传递给'mlogit.data'.

你没有给出任何补充论据.请注意,我认为这篇文章很差,因为它没有说明应该提供哪些补充参数.

从示例中,似乎至少应该设置"形状"和"选择":

 # a data.frame in wide format with two missing prices
 Fishing2 <- Fishing
 Fishing2[1, "price.pier"] <- Fishing2[3, "price.beach"] <- NA
 mlogit(mode~price+catch|income, Fishing2, shape="wide", choice="mode", varying = 2:9)

 # a data.frame in long format with three missing lines
 data("TravelMode", package = "AER")
 Tr2 <- TravelMode[-c(2, 7, 9),]
 mlogit(choice~wait+gcost|income+size, Tr2, shape = "long",
        chid.var = "individual", alt.var="mode", choice = "choice")
Run Code Online (Sandbox Code Playgroud)

顺便说一句,欢迎来到stackoverflow!以下是一些关于撰写更好问题的提示,从而增加了获得良好答案的机会.

  1. 你应该说明命令所来自的包.我假设它来自mlogit包,但mlogit命令在每个包中.
  2. 你应该给出一个最小的例子.您给出了head命令的输出,但不清楚是否可以使用该输出重现错误.library(mlogit)也应该在你的最小例子中给出.
  3. 你应该阅读命令的帮助.帮助文件可能令人生畏并且非常技术性,但您无需了解其中的所有内容.在你的例子中,我猜你会跳出来的some supplementary arguments should be provided.如果您不确定如何访问该命令的帮助mlogit,您可以使用?mlogithelp(mlogit).