2017-01-21 69 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)