pglm
パッケージのpglm
関数を使用して、順序付きロジスティックモデルのランダムエフェクトパネル推定を取得しようとしています。タイプ 'closure'のオブジェクトは、パネルロジットを推定するためにRのpglm :: pglm関数でサブセット化できません
スタンドアロン機能pglm
をテストすると、私には望ましい結果が得られます。ここに私の仕様は次のとおり
pglm::pglm(as.numeric(y)~x1+x2+x3, df,family = pglm::ordinal('logit'),
model = "random", method = "bfgs", print.level = 3, R = 5, index = 'Year')
: 1.すべての説明変数{X1、X2、X3は}数値倍である 2 yは1からも22
テーブルの範囲の順序付きカテゴリ変数パネルデータの作成に使用される1996年から2014年の範囲の「年」変数が含まれています。
別の関数でpglm
機能を使用しようとする場合:xの
pdata.frame(data, index)
エラーを計算する際に
pglm_fun <- function(df){ df <- data.frame(df) pglm::pglm(as.numeric(y)~x1+x2+x3, data = df,family = pglm::ordinal('logit'), model = "random", method = "bfgs", print.level = 3, R = 5, index = 'Year') }
は私が発生したエラーメッセージが表示されます[、na.check!]:型 'closure'のオブジェクトはサブセット化できません。
コンソールでコードを実行しようとすると、このようなエラーは発生せず、pdata.frame()
機能が機能します。データフレームの
例:
df = data.frame(y = sort(rep(1:4,20)),
x1 = rnorm(80),
x2 = rnorm(80),
x3 = rnorm(80),
Year = rep(sample(1995:1998, replace = FALSE),20))
あなたのコード内の 'index'は何ですか? 'plm'には' index() '関数もあり、混乱の原因になっている可能性があります。また、 'データ'とは何ですか? 'df'とはどのような関係がありますか?つまり、再現可能な例を投稿するべきです。http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example –
変数「年」をインデックスとして設定し、データは単純に 'pglm_fun'という引数に与えたデータフレームです。私はデータフレームdf –
の例でポストを編集します 'pdata.frame(data、index =" Year ")'はどうでしょうか? –