簡體   English   中英

R錯誤:`row.names < - 。data.frame`(`* tmp *`,value = value)出錯

[英]R error: Error in `row.names<-.data.frame`(`*tmp*`, value = value)

我只是編寫一個數據集來測試函數“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

然后當我打字

fit <- mlogit(y ~ x1 + x2 + x3, data=dat)

出現以下消息:

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

有誰知道為什么或如何解決它?

幫助說明:

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

順便說一句,歡迎來到stackoverflow! 以下是一些關於撰寫更好問題的提示,從而增加了獲得良好答案的機會。

  1. 你應該說明命令所來自的包。 我假設它來自mlogit包,但mlogit命令在每個包中。
  2. 你應該給出一個最小的例子。 你給出了head命令的輸出,但是不清楚是否可以用那個再現錯誤。 library(mlogit)也應該在你的最小例子中給出。
  3. 你應該閱讀命令的幫助。 幫助文件可能令人生畏並且非常技術性,但您無需了解其中的所有內容。 在你的例子中,我猜測some supplementary arguments should be provided會跳出來。 如果您不確定如何訪問命令mlogit幫助,您可以使用?mlogithelp(mlogit)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM