首页 > 解决方案 > 在 R 中绘制多元正态分布的参数分布

问题描述

给定以下多元正态样本:

mu=rep(0,2)
Sigma=matrix(c(1,0,0,1),2,2)
require(MASS)
X=mvrnorm(n=100,mu,Sigma)

我想计算的是参数密度函数。这曾经是这样做的:

require(rgl)
require(mnormt)
zX=dmnorm(as.matrix(X),mean=colMeans(X),varcov=cov(X))
plot3d(X[,1],X[,2],zX) 

但这会弹出一个点图(来自 RStudio):

在此处输入图像描述

我想知道如何获得一个图形 RStudio 绘图窗口,它也用这些点绘制一个表面。我可以用非参数密度做到这一点:

ngrid = 50
Zbiksm = kde2d(X[,1],X[,2],n=ngrid)
Zbiksm_den = Zbiksm$z # valor de la densidad en cada punto del grid
persp(x=Zbiksm$x,y=Zbiksm$y,z=Zbiksm_den,xlab="x",ylab="y",
      zlab=expression(K(x,y)),theta=-35,axes=TRUE,box=TRUE)

在此处输入图像描述

但不知道在这种情况下该怎么做。

或者,我也可以将surface3d 和散点图图像放在一起。

标签: rplotnormal-distribution

解决方案


推荐阅读