1

R mlogitパッケージを使用したいと思います。ドキュメント ( http://cran.r-project.org/web/packages/mlogit/vignettes/mlogit.pdf ) はよく書かれていますが、まだ質問があります。

modeage、の 3 つのカテゴリ変数で構成されるデータセットがあるとしますcostmodeには 3 つのレベル ( mode1mode2mode3) があり、他の 2 つの変数には 2 つのレベル ( age1age2およびcost1cost2) があります。

基本的には、次の形式です。

R> head(df)
  mode   age   cost
1 mode2  age1  cost2
2 mode1  age1  cost2
3 mode1  age2  cost1
4 mode3  age1  cost1  

コマンドmlogitSample <- mlogit.data(df, choice = "mode", shape = "wide")を使用すると、このデータセットを次の形式に「変換」できmlogitます。すべての行が 3 つの行 (3 つの異なる応答カテゴリに対応) に展開され、列がormodeのシーケンスに変換されます。これは使用に最適です。ただし、独立していない複数の行があることを考えると、エラーが発生する理由でもあると思います。TRUEFALSEmlogitLapack routine dgesv: system is exactly singular: U[8,8] = 0

多項ロジット法を私の場合に適用できることを知っているので、このパッケージでそれを行う方法を知りたいです。同様の目的で、multinomパッケージの機能は正常に機能しますnnetが、私が考えているのと同じモデルには適合しません: モデルに適合させたい $\log(\pi_j(x)) = \alpha_j + \beta\cdot x$、各モード カテゴリ $j$ ごとに変化する切片 $\alpha_j$、および定数係数のベクトル $\beta$) を使用します。

4

0 に答える 0