Альтернативная функция функциям «uniroot» и «uniroot.all» в R

#r #function #package

#r #функция #пакет

Вопрос:

Я пытаюсь найти корень уравнения и, используя этот корень, пытаюсь найти значение под названием «смещение», выполнив 10000 итераций (связанных со статистикой).

Я использую uniroot функцию в R для того, чтобы узнать корень, но проблема в том, что после 10000 итераций в течение ряда раз значения не сходятся.

Я рассказал об этом своему профессору, и он посоветовал мне найти альтернативную функцию для uniroot и uniroot.all function в R.

Кто-нибудь может мне помочь в поиске такой альтернативной функции в R?

РЕДАКТИРОВАТЬ: Моя функция приведена ниже:

   f=function(p)
  {
    g=NULL
    h=0
    for(i in 1:length(a1))
    {
      h=mat1[i,2]/dpois(mat1[i,1],p)
      g[i]=((mat1[i,1]/p)-1)*(dpois(mat1[i,1],p)^(1 alpha))*(((h^A)-1)/A)
      h=0
    }
    sum(g)
  }
  msde[k]=uniroot(f,c(1,10))$root
  

Мне нужно найти альтернативную функцию для uniroot , потому что значение msde [k] оказывается значительно разным при разных запусках. Значения msde[k] во время разных запусков не сходятся.

Комментарии:

1. Можете ли вы добавить свое уравнение и воспроизводимый пример?

2. Я предоставил свое оценочное уравнение (представленное как функция p здесь) в моем вопросе. Здесь я хочу альтернативу «uniroot».

3. Что такое a1 ? Пожалуйста, сначала отобразите свою функцию f , поскольку она не работает. Возможно, в этом причина: x <- seq(1,10,01) , y <- f(x) и plot(x,y)