Я создал базовую функцию, которая определяет 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