用户定义的变量未正确输入到其他函数中

时间:2019-04-22 20:29:29

标签: r function variables

我创建了一个定义两个变量的基本函数:Size和Param。

大小仅是一个数字,但Param是一个单词或多个由下划线分隔的单词。

以下是有关函数和数据集的基本概念:

base_function <- function(Size,Param){
    step_1 <- summarySE(alldata, measurevar = Param, groupvars=c("FinalPopSize", 
    "Time"), conf.interval=0.99)
    step_2 <<- subset(step_1,FinalPopSize==Size)
    nls(Param~SSlogis(logtime,Asym,xmid,scal), step_2)
}

这是我要馈入此函数的数据的样子:

         FinalPopSize Mut_Rate  Time   NucDiv No_Usable_Sites
10000    1e-04 16100 0.420789             300
10000    1e-04 16100 0.407146             300
10000    1e-04 16100 0.403797             300
10000    1e-04 16100 0.401119             300
10000    1e-04 16100 0.400203             300
10000    1e-04 16100 0.397348             300

当我尝试使用base_function(10000,Mut_Rate)运行该函数时,我得到一个错误,提示nls:

 Error in model.frame.default(formula = ~Param...

似乎变量没有正确传递到nls()中,而是被读取为“ Param”。

为什么此功能不是subsetsummarySE

当我查看step_2时,一切看起来都很好。

此外,当我分别在函数外以及函数外运行nls时,它也可以正常运行:nls(Mut_Rate~SSlogis(logtime,Asym,xmid,scal),step_2)

我没看到什么?

编辑:summarySE来自Rmisc

0 个答案:

没有答案