私は現在、Henningsen / Henningsen(2011)によるRのmicEconCESパッケージを使っていくつかの見積もりをしようとしています。私の問題は、私がRにあまり馴染みがなく、パッケージを使って見積もりを取得するために自分のデータセットを実装しようとしていることです。この論文の著者らは、このデータセットを見積もり用に作成しました。
R> set.seed( 123 )
R> cesData <- data.frame(x1 = rchisq(200, 10), x2 = rchisq(200, 10), x3 = rchisq(200, 10), x4 = rchisq(200, 10) )
R> cesData$y2 <- cesCalc( xNames = c( "x1", "x2" ), data = cesData, + coef = c( gamma = 1, delta = 0.6, rho = 0.5, nu = 1.1 ) )
R> cesData$y2 <- cesData$y2 + 2.5 * rnorm( 200 )
R> cesData$y3 <- cesCalc(xNames = c("x1", "x2", "x3"), data = cesData, coef = c( gamma = 1, delta_1 = 0.7, delta = 0.6, rho_1 = 0.3, rho = 0.5, + nu = 1.1), nested = TRUE )
R> cesData$y3 <- cesData$y3 + 1.5 * rnorm(200)
R> cesData$y4 <- cesCalc(xNames = c("x1", "x2", "x3", "x4"), data = cesData, coef = c(gamma = 1, delta_1 = 0.7, delta_2 = 0.6, delta = 0.5, rho_1 = 0.3, rho_2 = 0.4, rho = 0.5, nu = 1.1), nested = TRUE )
R> cesData$y4 <- cesData$y4 + 1.5 * rnorm(200)
最初の行は乱数ジェネレータの「シード」を設定するので、これらの例はまったく同じデータセットで複製できます。 2行目は、4つの入力変数(x 1、x 2、x 3、およびx 4と呼ばれる)を持つデータセットを作成します。各変数は、200個の観測値を持ち、10自由度のランダムなχ2分布から生成されます。 3番目、5番目、および7番目のコマンドは、micEconCESパッケージに含まれている関数cesCalcを使用して、2、3、および4入力(それぞれy2、y3、およびy4と呼ばれる)のCES関数の確定的出力変数を計算します。 CES生産機能を与えられた。今私の論文では、資本と労働力を伴う2つのインプットケースについて、米国のCES関数を総計レベルで推定しようとしています。そこで私がしたのは、1990 - 2015年の世界銀行のデータベースからデータを集めたところです。そこでは資本に総固定資本形成、そして労働には総労働力を使いました。
著者らはf.e.を行いました。次のような非線形推定
R> cesNls <- nls( y2 ~ gamma * ( delta * x1^(-rho) + (1 - delta) * x2^(-rho) )^(-phi / rho), + data = cesData, start = c( gamma = 0.5, delta = 0.5, rho = 0.25, phi = 1 ) )
R> print( cesNls )
今、私はData_Extract_From_World_Development_Indicatorsと呼ばれる私自身のデータセットのために全く同じものが欲しいです。だから私が最初にしたのは
R> ceslan <- cesCalc( xNames = c( "GrossFixedCapitalFormation", "LaborForce" ), data = Data_Extract_From_World_Development_Indicators, coef = c( gamma = 1, delta = 0.6, rho = 0.5, nu = 1.1 ) )
だから私は複製した
R> cesData$y2 <- cesCalc( xNames = c( "x1", "x2" ), data = cesData, coef = c( gamma = 1, delta = 0.6, rho = 0.5, nu = 1.1 ) )
データセットの名前を変更し、x1とx2を資本と労働の2つの変数に置き換えました。
その後、私は非線形推定をしようとしました
R> cesulan <- nls(y2 ~ gamma * (delta * GrossFixedCapitalFormation^(-rho) + (1-delta)*LaborForce^(-rho))^(-phi / rho), data = Data_Extract_From_World_Development_Indicators, start = c(gamma = 0.5, delta = 0.5, rho = 0.25, phi = 1) )
今ここに私の問題があります:私は私のデータセットでy2であることになっている変数がわからない。式の中でy2〜gamma * ...が残りの用語に対してプロットされていることがわかりますが、そこにプラグインする必要がある値の種類がわかりません。誰かアドバイスがありますか?
cesulan <- nls(GDP ~ gamma * (delta * GrossCapitalFormation^(-rho) + (1-delta)*LaborForce^(-rho))^(-phi / rho), data = Popular_Indicators_2_, start = c(gamma = 0.5, delta = 0.5, rho = 0.25, phi = 1) )
二項演算子のエラー非数値引数が返されます。今何が悪いの?