R 二元正态函数的计数图

R 二元正态函数的计数图,r,ggplot2,normal-distribution,R,Ggplot2,Normal Distribution,有人能解释一下为什么这样的函数不能像我期望的那样产生计数图吗。 我有一个二元正态函数,其中: 平均数=c(5,1) var_cov=矩阵(c(2,1,1,1,2) 我想画出它的等高线图;我能够达到预期的结果,但我想问,为什么有一次我没有达到预期的结果 工作示例: 库(MASS) 图书馆(GG2) N在非工作示例中,由于等高线图没有规则网格,因此可以使用stat_density2d,即 ggplot(data.df, aes(x = X1, y = X2, z = Z)) + geom_p

有人能解释一下为什么这样的函数不能像我期望的那样产生计数图吗。 我有一个二元正态函数,其中:

  • 平均数=c(5,1)
  • var_cov=矩阵(c(2,1,1,1,2)
我想画出它的等高线图;我能够达到预期的结果,但我想问,为什么有一次我没有达到预期的结果

工作示例:

库(MASS)
图书馆(GG2)

N在非工作示例中,由于等高线图没有规则网格,因此可以使用
stat_density2d
,即

ggplot(data.df, aes(x = X1, y = X2, z = Z)) +
  geom_point(aes(colour = z)) +
  stat_density2d()

library(MASS)
library(ggplot2)

N <- 100 
set.seed(123)

var_cov_matrix <- matrix(c(2,1,1,1),2)
mean <- c(5,1)

bivariate_points <- mvrnorm(N, mu = mean, Sigma = var_cov_matrix ) # <---- EDITED
z <- mvtnorm::dmvnorm(bivariate_points, mean = mean, sigma = var_cov_matrix)

data  <- cbind(bivariate_points,z)
colnames(data) <- c("X1","X2","Z")

data.df <- as.data.frame(data)

ggplot() +
  geom_contour(data=data.df,aes(x=X1,y=X2,z=Z))
ggplot(data.df, aes(x = X1, y = X2, z = Z)) +
  geom_point(aes(colour = z)) +
  stat_density2d()