在R中模拟来自对数正态分布的数据
假设我想模拟10个对数正态分布的观测值,并重复100次。我写了一些R代码,但由于某种原因它不起作用。代码如下:在R中模拟来自对数正态分布的数据,r,simulation,R,Simulation,假设我想模拟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)) 编辑 要计算平均值和标准差,请使用: lapply(1:100, function(i) { x
for(i in 1:100)
{
x = rlnorm(10, meanlog = 0, sdlog = 1)
}
有什么想法吗?这可能有用:
lapply(1:100, function(i) rlnorm(10, meanlog = 0, sdlog = 1))
编辑要计算平均值和标准差,请使用:
lapply(1:100, function(i) {
x <- rlnorm(10, meanlog = 0, sdlog = 1)
c(mean=mean(x), sd=sd(x))
})
为了使您的原始代码正常工作(参见DWin的注释),请使用:
x这可能有效:
lapply(1:100, function(i) rlnorm(10, meanlog = 0, sdlog = 1))
编辑
要计算平均值和标准差,请使用:
lapply(1:100, function(i) {
x <- rlnorm(10, meanlog = 0, sdlog = 1)
c(mean=mean(x), sd=sd(x))
})
为了使您的原始代码正常工作(参见DWin的注释),请使用:
x在循环的每次迭代中覆盖x
。您可能希望查看replicate(100,rlnorm(10,meanlog=0,sdlog=1))
或者更简单地说,您在循环的每次迭代中覆盖x
。您可能想查看复制(100,rlnorm(10,meanlog=0,sdlog=1))
或者更简单地说,x如何计算每10次观察的平均值和标准差?谢谢请参阅我的编辑。注:您也可以在第一次创建时使用lappy
,并在创建100个模拟后向其提供函数(x)(平均值=平均值(x),sd=sd(x))
。如何计算每10个观察值的平均值和sd?谢谢请参阅我的编辑。注:您也可以在第一次创建时使用lappy
,并在创建100个模拟后向其提供函数(x)c(平均值=平均值(x),sd=sd(x))
。