区分関数をコードに入れ、生成された値をデータ フレームに格納する必要があります。ルールは次のとおりです。
- Bernoulli(1/3) によって生成されるオブジェクト X があります。
- X=0 の場合、別のオブジェクト Y が E = Exponential(1) によって生成されます。
- X=1 の場合、Y は、E <= P の場合は E によって生成され、E > P の場合は (P + EL) によって生成されます。ここで、P は定数 (たとえば 1) であり、E から独立した EL = Exponential(Lambda) です。
- この方法で得られた X と Y の 100 サンプルでデータ フレームを生成し、さらに、このプロセスを 10000 回実行します (つまり、10000 データ フレームを生成します)。
私はこのようなことをしようとしましたが、R を使用するまったくの初心者であるため、各要素を適切に定義する方法と、結果をデータ フレームに格納する方法が明らかにわかりませんでした。
これが私がやった「コード」です:
test <- function(lambda,p) {
for (i in 1:10000) { # Number of simulations that I want to do.
for(j in 1:100) { # Sample size of each simulation / data frame.
x <- rbinom(1,1,1/3)
e <- rexp(1,1)
if (x==0) {y <- e}
else {
if (e<=p) {y <- e}
else {y <- p + rexp(1, lambda)}
}
}
}
しかし、テストする前でさえ、それが適切に機能することは不可能であることを知っています. 作成したいデータ フレームには、X と Y の値が含まれている場合があります。
初歩的な質問かもしれませんが、よろしくお願いします。