Пользовательские переменные неправильно передаются в другую функцию - PullRequest
0 голосов
/ 22 апреля 2019

Я создал базовую функцию, которая определяет 2 переменные: размер и параметр.

Размер - это просто число, а параметр - это слово или слова, разделенные подчеркиванием.

Вот базоваяпредставление о том, как выглядит функция и набор данных:

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".

Почему это так для этой функции, а не subset или summarySE?

Когда я смотрю на step_2, все выглядит великолепно.

Кроме того, когда я запускаю nlsотдельно и вне функции он также работает нормально: nls(Mut_Rate~SSlogis(logtime,Asym,xmid,scal),step_2)

Что я не вижу?

Редактировать: summarySE от Rmisc

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...