2017-01-21 10 views
-1

DosefindingパッケージのMCPMODメソッドを動作させようとしています。 my_modelsオブジェクトの1つのモデルでMCPMODを実行すると、このメソッドは機能します。R DosefindingパッケージでMCPMODを実行中にエラーが発生しました

my_models <- Mods(emax = c(0.2,0.7,200), 
       doses = doses,placEff=0.1,maxEff = 0.9,fullMod=TRUE) 
MCPMod(adose, response2, as.data.frame(simdat), my_models, Delta=0.1, selModel = "AIC" ,alpha=0.025) 

しかし、1つ以上のモデルを含めると、そのモデルは含まれません。

my_models <- Mods(linear=c(0.2,0.001),emax = c(0.2,0.7,200), 
       doses = doses,placEff=0.1,maxEff = 0.9,fullMod=TRUE) 
MCPMod(adose, response2, as.data.frame(simdat), my_models, Delta=0.1, selModel = "AIC" ,alpha=0.025) 

エラーを示します。

Error in match.arg(direction) : 'arg' must be of length 1 

データは次のようになります。

enter image description here

のように任意の考え何私が間違っているのでしょうか?

答えて

0

私はこの記事をdownvoteする時間を惜しまなかった人に感謝します。私はこれが正当な質問だと思っていましたが、私はオンラインで説明できない曖昧なエラーメッセージに直面しました。

とにかく私は問題が "Mods"メソッドの呼び出しで "fullmod = TRUE"という行に関係していると思います。次のコードが動作します。

my_models <- Mods(linear=NULL,emax = c(200),quadratic=c(-0.000004/0.0028), 
       doses = doses,placEff=0.2,maxEff = 0.5,fullMod=FALSE) 

MCPMod(adose, response2, as.data.frame(simdat), my_models, Delta=0.1, selModel = "AIC" ,alpha=0.025) 

上記差がフルモデルバージョンが使用されていないので、各モデルタイプのための唯一のパラメータは、「改造」関数に提供されることである(fullmod = FALSE)。プラセボ効果(placEff = 0.2)および最大線量効果(maxEff = 0.7)を提供することから、方法はモデルの残りのパラメータを計算し戻す。

私はおそらく、最初のエラーはplacEffとmaxEffの引数を使用して、同時にすべてのモデルパラメータを供給することに関連していると考えました(私は両方とも必要であるとは思わない)。ただし、次のコードも動作しません。

my_models <- Mods(linear=c(0.2,0.001),quadratic=c(0.2,0.0028,-0.000004), 
      logistic=c(0.2, 0.7, 200, 50),emax = c(0.2,0.7,200), 
      doses = doses,fullMod=TRUE) 
MCPMod(adose, response2, as.data.frame(simdat), my_models, Delta=0.1, selModel = "AIC" ,alpha=0.025) 
関連する問題