如何在r中创建一个正态分布的矩阵?

时间:2017-11-24 13:55:39

标签: r matrix statistics normal-distribution

我希望像素网格中填充正态分布的值,如下图所示

enter image description here

有人知道如何在R中执行此操作吗?

1 个答案:

答案 0 :(得分:5)

目前尚不清楚自己想做什么。您是否在询问如何从双变量正态分布中进行采样?或者如何创建热图?或者如何将文字叠加到热图上?但好吧,我会咬人......

以下是一个从头开始的示例如何生成数据并生成一个热图,其中的数字表示每个箱的计数框。

const (.*) = \(.*\) => \{

enter image description here

或者,如果您只对热图感兴趣,可以将class $1 extends React.Component { # Create sample data require(MASS); set.seed(2017); mu <- c(5, 5); sigma <- diag(c(2, 2)); df <- as.data.frame(mvrnorm(10000, mu = mu, Sigma = sigma)); colnames(df) <- c("x1", "x2"); # Bin breaks nbins <- 20; breaks_x <- seq(floor(min(df$x1)), ceiling(max(df$x1)), length.out = nbins); breaks_y <- seq(floor(min(df$x2)), ceiling(max(df$x2)), length.out = nbins); # Frequency table freq <- as.data.frame(table( as.numeric(cut(df$x1, breaks = breaks_x)), as.numeric(cut(df$x2, breaks = breaks_y)))); # Plot matrix mat <- diag(nbins) * 0; mat[cbind(freq[, 1], freq[, 2])] <- freq[, 3]; image(breaks_x, breaks_y, mat, col= rainbow(10)); text(breaks_x[freq$Var1], breaks_y[freq$Var2], freq$Freq, cex = 0.8); 一起使用。

ggplot2

enter image description here

stat_bin2d

有关更多选项,请参阅here ...