Как зациклить и перечислить случайные образцы в R - PullRequest
0 голосов
/ 07 октября 2019

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

Я попробовал следующий код. Я знаю, что это неправильно, но я не знаю, как заставить это работать.

for (i:10){
a = (rbinom(1,20,0.2))
b= 20 - a
c = (rbinom(1,50,0.3))
d = 50 - c
fi = a*b*c*d
i = i +1 
x <- list(fi)
}

Ответы [ 2 ]

0 голосов
/ 07 октября 2019

У вас неправильный формат для команды for. Вы увеличиваете индексную переменную i, но команда for сделает это за вас. Вы перезаписываете значение x при каждом прохождении цикла, поэтому возвращается только последний. Вам действительно нужно воспользоваться некоторыми бесплатными учебниками по R, которые легко доступны в Интернете. Лучше не использовать команду for. Создайте функцию, которая делает то, что вы хотите, и затем запустите эту функцию столько раз, сколько вы хотите:

rsam <- function() {
     a <- rbinom(1, 20, 0.2)
     b <- 20 - a
     c <- rbinom(1, 50, 0.3)
     d <- 50 - c
     a*b*c*d
}
fi <- replicate(100, rsam())

Теперь fi содержит значения 100 испытаний вашей функции.

0 голосов
/ 07 октября 2019

Может быть, вы можете попробовать это:

x <- c()

for (i in 1:10){
  a <- rbinom(1,20,0.2)
  b <- 20 - a
  c <- rbinom(1,50,0.3)
  d <- 50 - c
  fi <- a*b*c*d
  x[i] <- fi
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...