简体   繁体   中英

Can't pass variable into function in R

I am trying to fit a list of dataframes and I can't figure out why I can't define conc and t0 outside of the function.

If I do it like this I get error:

'Error in nls.multstart::nls_multstart(y ~ fit_drx_mono(assoc_time, t0, : There must be as many parameter starting bounds as there are parameters'

conc <- 5e-9
t0 <- 127

nls.multstart::nls_multstart(y ~ fit_mono(assoc_time, t0, conc, kon, koff, ampon, ampoff),
                             data = data_to_fit,
                             iter = 100,
                             start_lower = c(kon = 1e4, koff = 0.00001, ampon = 0.05, ampoff = 0),
                             start_upper = c(kon = 1e7, koff = 0.5, ampon = 0.6, ampoff = 0.5),
                             lower = c(kon = 0, koff = 0, ampon = 0, ampoff = 0))

When I specify the values in the function everything works as it is supposed to. And I don't understand why.

It turned out I cannot define data = data_to_fit otherwise the function looks for variables only in that dataframe. Once I defined every variable outside of the function without specifying data it works.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM