Я написал внешнюю функцию, но получил предупреждение о том, что количество заменяемых элементов не кратно длине замены - PullRequest
0 голосов
/ 07 марта 2019

это код моего тела:

library(nleqslv)
dslnex          <- function(x) {
    z           <- numeric(2)
    z[1]        <- x[1]/(x[1]+x[2]) - mean(y_n/n)
    z[2]        <- x[1]*x[2]/(((x[1]+x[2])^2)*(x[1]+x[2]+1)) - 
sd(y_n/n)^2
    z
}



sol1            <- nleqslv(c(1,1), dslnex) 
res1            <- paste("(",round(sol1$x[1],1), ",", 
round(sol1$x[2],1), ")",sep="")
fun_post_2 = function( a, b)
 {
   prob_1 = c()
  for (i in 1:length(y_n))
  {
    prob_1[i] = log((1/beta(a, b))*beta(a+y_n[i], b+n[i]-y_n[i]))
  }
}
 fun_post_3 = function(a,b){
  prob_1 = c()
  for (i in 1:length(y_n))
  {
    prob_1[i] = log((1/beta(a, b))*beta(a+y_n[i], b+n[i]-y_n[i]))
  }
  prob_2 = sum(prob_1)
  prob = exp(prob_2-5/2*log(a+b))
  return(prob)
}
 p_y_2 = c()

Другой код:

v1 = seq(log(sol1$x[1]/sol1$x[2])*1.5,log(sol1$x[1]/sol1$x[2])/1.5,length.out =151)
v2 = seq(log(sol1$x[1]+sol1$x[2])/3,log(sol1$x[1]+sol1$x[2])*1.5,length.out =151)
beta      = exp(v2)/(exp(v1)+1)
alpha     = exp(v2+v1)/(exp(v1)+1)

post.dens = outer(alpha,beta, fun_post_2 )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...