#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)