Подгонка с помощью ggplot2, geom_smooth и nls

Я пытаюсь сопоставить данные об экспоненциальной функции затухания (RC-подобной системе) с уравнением:

Мои данные находятся на следующем фрейме данных:

dataset <- data.frame(Exp = c(4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6), t = c(0, 0.33, 0.67, 1, 1.33, 1.67, 2, 4, 6, 8, 10, 0, 33, 0.67, 1, 1.33, 1.67, 2, 4, 6, 8, 10, 0, 0.33, 0.67, 1, 1.33, 1.67, 2, 4, 6, 8, 10), fold = c(1, 0.957066345654286, 1.24139015724819, 1.62889151698633, 1.72008539595879, 1.82725412314402, 1.93164365299958, 1.9722929538061, 2.15842019312484, 1.9200507796933, 1.95804730344453, 1, 0.836176542548747, 1.07077717914707, 1.45471712491441, 1.61069357875771, 1.75576377806756, 1.89280913889538, 2.00219054189937, 1.87795513639311, 1.85242493827193, 1.7409346372629, 1, 0.840498729335292, 0.904130905000499, 1.23116185602517, 1.41897551928886, 1.60167656534099, 1.72389226836308, 1.80635095956481, 1.76640786872057, 1.74327897001172, 1.63581509884482))

У меня есть 3 эксперимента (Exp: 4, 5 и 6) данных, которые я хочу подогнать для каждого эксперимента по заданному уравнению.

Мне удалось сделать это для эксперимента путем подстановки моих данных и использования параметра, рассчитанного по nls

test <- subset(dataset,Exp==4)
fit1 = nls(fold ~ 1+(Vmax*(1-exp(-t/tau))),
  data=test,
  start=c(tau=0.2,Vmax=2))
ggplot(test,aes(t,fold))+
  stat_function(fun=function(t){1+coef(fit1)[[2]]*(1-exp(-t/coef(fit1)[[1]]))})+
  geom_point()

Но если я попытаюсь использовать функцию geom_smooth непосредственно в полном наборе данных с этим кодом

d <- ggplot(test,aes(t,fold))+
   geom_point()+
   geom_smooth(method="nls", 
     formula='fold~1+Vmax*(1-exp(-t/tau))',
     start=c(tau=0.2,Fmax=2))
print(d)

Я получаю следующую ошибку:

Error in model.frame.default(formula = ~fold, data = data, weights = weight) : 
  variable lengths differ (found for '(weights)')
In addition: Warning messages:
1: In min(x) : no non-missing arguments to min; returning Inf
2: In max(x) : no non-missing arguments to max; returning -Inf

Что-то не так с моим синтаксисом? Я хотел бы, чтобы этот работал, чтобы использовать ту же функцию наdataset и использование группы, чтобы иметь одну подгонку на уровень опыта.

Ответы на вопрос(1)

Ваш ответ на вопрос