Подгонка логистической кривой к данным с помощью SSlogis: ошибка NA / NaN / Inf

#r #logistic-regression #nls

#r #логистическая регрессия #nls

Вопрос:

Я пытаюсь подогнать логистическую кривую к своим данным за два отдельных года. Данные очень похожи для каждого года, с точно таким же форматом, и я удалил все наблюдения с помощью NA или NaN и убедился, что они числовые. Однако по какой-то причине скрипт отлично работает в течение первого года и не работает в течение второго года.

Вот немного о том, как выглядят мои данные за 2013 год (всего 101 наблюдение):

         x       y
1    0.070  95.392
2    0.079 100.000
3    0.109 100.000
4    0.072 100.000
5   -0.005 100.000
6    0.014 100.000
7   -0.008 100.000
8    0.307  52.523
9    0.696   0.000
10  -0.045 100.000
  

И данные за 2018 год (всего 116 наблюдений):

          x       y
1    0.133 100.000
2    0.139 100.000
3    0.152 100.000
4    0.124 100.000
5    0.051 100.000
6    0.062 100.000
7   -0.050 100.000
8    0.356  80.282
9    0.545   0.000
10  -0.029  62.857
  

Вот мой скрипт:

 ##2013 data
x <- veg13$`Elevation`
y <- veg13$`pclowspecies`

##predict parameters for the logistic curve
fit <- nls(y ~ SSlogis(x, Asym, xmid, scal), data=data.frame(x, y))
summary(fit)
  

Для 2013 года это работает нормально, но когда я повторяю с данными за 2018 год, я получаю следующую ошибку:

 Error in qr.default(.swts * gr) : 
  NA/NaN/Inf in foreign function call (arg 1)
  

Я читал некоторых других людей, у которых была такая же проблема, но их решения не работают для меня, поскольку у меня нет никаких NA или NaN в моих данных.

Спасибо за вашу помощь!