対数正規分布から 10 個の観測値をシミュレートし、これを 100 回繰り返したいとします。R コードを書いたのですが、何らかの理由で機能しません。コードは次のとおりです。
for(i in 1:100)
{
x = rlnorm(10, meanlog = 0, sdlog = 1)
}
何かご意見は?
対数正規分布から 10 個の観測値をシミュレートし、これを 100 回繰り返したいとします。R コードを書いたのですが、何らかの理由で機能しません。コードは次のとおりです。
for(i in 1:100)
{
x = rlnorm(10, meanlog = 0, sdlog = 1)
}
何かご意見は?
これはうまくいく可能性があります:
lapply(1:100, function(i) rlnorm(10, meanlog = 0, sdlog = 1))
編集
平均とsdの使用を計算するには:
lapply(1:100, function(i) {
x <- rlnorm(10, meanlog = 0, sdlog = 1)
c(mean=mean(x), sd=sd(x))
})
または、マトリックス形式で返すには(を使用do.call
):
do.call(rbind, lapply(1:100, function(i) {
x <- rlnorm(10, meanlog = 0, sdlog = 1)
c(mean=mean(x), sd=sd(x))
}))
また、元のコードを機能させるには(DWinのメモを参照)、次を使用します。
x <- list()
for(i in 1:100) {
x[[i]] <- rlnorm(10, meanlog = 0, sdlog = 1)
}