你好,欢迎访问远方教程PC版!
广告位招租

R技巧[41]:R语言绘制二元正态分布曲面、等值线和栅格图

[日期:2019-08-27]   来源:远方教程  作者:远方教程   阅读:10032次[字体: ] 访问[旧版]
 捐赠远方教程 

        设随机向量(X,Y)服从二元正态分布:

R语言绘制二元正态分布曲面、等值线和栅格图-远方教程

如下的R程序可以作f(x,y)的曲面图、等值线图和栅格图:

n=30;
mu1=0;mu2=0;s1=1;s2=2;
rho=0.5;                  #相关系数
x=seq(-3,3,length=n)*s1;
y=seq(-3,3,length=n)*s2;

f=function(x,y){
    (2*pi*s1*s2*sqrt(1-rho^2))^-1*exp(-0.5*(1-rho^2)^-1*((x-mu1)^2/s1^2-2*rho*(x-mu1)*(y-mu2)/(s1*s2)+(y-mu2)^2/s2^2))
}

z=outer(x,y,f);         #计算z=f(x,y),并且输出给矩阵z

persp(x,y,z,theta=-20,phi=30,r=3);   #绘制曲面

结果如下图:

R语言绘制二元正态分布曲面、等值线和栅格图-远方教程

contour(x,y,z);                                  #绘制等高线

结果如下图:

R语言绘制二元正态分布曲面、等值线和栅格图-远方教程

image(x,y,z,col=gray((0:32)/32));     #绘制栅格图

结果如下图:

R语言绘制二元正态分布曲面、等值线和栅格图-远方教程

图片展示
 
相关评论
站长推荐