normal_gibbs=function(n=10,luo=0.5){ x=numeric(n) y=numeric(n) x[1]=rnorm(1) y[1]=rnorm(1) for (i in 1:n){ x[i+1]=rnorm(1,luo*y[i],1-luo^2) y[i+1]=rnorm(1,luo*x[i+1],1-luo^2) } data.frame(x,y) } normal_gibbs(n=100,luo=0.2)
时间: 2024-01-28 14:04:20 浏览: 42
HW1.rar_Eigenfunction_Gibbs_The Other_gibbs phenomenon_ringing
这是一个使用 Gibbs 抽样方法生成正态分布的代码示例。其中,n 是样本数,luo 是相关系数。具体来说,这个函数使用两个变量 x 和 y,先从正态分布中随机生成一个初始值,然后通过 Gibbs 抽样方法迭代生成 n 个样本。每次迭代时,先从条件概率分布中生成一个变量的值,再以该值为条件生成另一个变量的值,如此反复迭代,最终得到 n 个样本点。最后将这些样本点保存在一个数据框中并返回。你还有其他问题吗?
阅读全文