2017-01-21 96 views
-1

運行MCPMOD我試圖讓Dosefinding包工作的MCPMOD方法。當我用my_models對象中的一個模型運行MCPMOD時,該方法起作用;錯誤中的R Dosefinding包

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) 

但是,當我包括一個或多個模型它不;

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這個職位的時候 - 我認爲這是當面對,而我無法找到網上的解釋不明確的錯誤消息,一個合理的問題。

反正別人的benfit我相信問題是與「fullmod = TRUE」的調用「MODS的」法系有關。以下代碼有效;

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) 

上述不同的是,爲每個模型類型,因爲未被使用的完整的模型版本只有一個參數被設置到「MODS的」功能(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)