Мне нужно построить функцию логарифмического правдоподобия распределения Коши. Вот код для регистрации вероятности распределения Коши:
CauchyLL <- function(theta,x){
#CauchyLL is the log-likelihood function for the Cauch Distribution
#x is the data vector and theta is the unknown parameter
n <- length(x)
#f0 is the log likelihood function
#f1 is the first derivative of the log likelihood
#f2 is the second derivative of the log likelihood
f0 <- -n*log(pi)-sum(log((x-theta)^2+1),na.rm=TRUE)
f1 <- sum((2*(x-theta))/((x-theta)^2+1),na.rm=TRUE)
f2 <- 2*sum(((x-theta)^2-1)/((x-theta)^2+1),na.rm=TRUE)
return(c(f0,f1,f2))
}
Мои данные, x, определяются следующим образом:
x <- c(1.77, -0.23, 2.76, 3.80, 3.47, 56.75, -1.34, 4.24, -2.44, 3.29, 3.71, -2.40, 4.53, -0.07, -1.05, -13.87, -2.53, -1.75, 0.27, 43.21)
Моя тета определяется следующим:
xgrid<-seq(-9,10,by=1)
Я хочу построить функцию логарифмического правдоподобия распределения Коши для каждого значения тета, используя цикл for. Вот моя попытка:
for(j in 1:20){
print(xgrid[j])
print(CauchyLL(xgrid[j],x)[1])
plot(xgrid[j],CauchyLL(xgrid[j],x)[1])
}
Этот цикл for, кажется, строит график только для последнего значения тета, но не строит график для предыдущих 19 значений тета. Как я могу изменить это, чтобы получить график для всех 20 значений тета?