r - цикл for возвращает все нули при сегментации бета-распределения - PullRequest
0 голосов
/ 25 ноября 2018

Я пытаюсь сегментировать бета-версию, но цикл for возвращает вектор нулей:

my_vector <- vector("numeric", 11L)
prob <- seq(from = 0.0, to = 1, by = 0.1)
for (i in prob ) {
     my_vector[i] <- dbeta(i, shape1=7, shape2=2)
}
my_vector
[1] 0 0 0 0 0 0 0 0 0 0 0

1 Ответ

0 голосов
/ 26 ноября 2018

Если вы хотите сделать это с помощью цикла for, вы можете сделать это следующим образом:

my_vector <- vector("numeric", 0)
prob <- seq(from = 0.0, to = 1, by = 0.1)
for (i in prob) {
  my_vector <- c(my_vector, dbeta(i, shape1=7, shape2=2))
}

my_vector
[1] 0.0000000 0.0000504 0.0028672 0.0285768 0.1376256 0.4375000 1.0450944 1.9765032 2.9360128 2.9760696 0.0000000

Или вам лучше следовать предложению @ jogo, выполнив это так:

prob <- seq(from = 0.0, to = 1, by = 0.1)
my_vector <- dbeta(prob, shape1=7, shape2=2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...