2
我需要在R中創建一組100個隨機(x,y)點,這些點是高斯的。我該怎麼做呢?如何創建隨機(x,y)點?
我需要在R中創建一組100個隨機(x,y)點,這些點是高斯的。我該怎麼做呢?如何創建隨機(x,y)點?
看看mvrnorm
函數從MASS包
library(MASS)
Sigma <- matrix(c(10,3,3,2),2,2) # Covariance Matrix
set.seed(1) # For the example to be reproducible
Random_XY <- mvrnorm(n=100, c(0, 0), Sigma) # Random (x,y) from a Gaussian distr.
head(Random_XY)
[,1] [,2]
[1,] 2.3299984 -0.4196921
[2,] -0.2261965 -1.2474779
[3,] 2.3538800 1.7025069
[4,] -4.9527947 -1.8730622
[5,] -1.0148272 -0.4114252
[6,] 2.0557678 2.4378417
EDIT
由於高斯過程均值爲0,方差爲1和零相關,正確答案應該是:
mvrnorm(n=100, c(0, 0), diag(c(1,1)))
如果means的向量是c(0,0)
和酉協方差矩陣diag(c(1,1))
由於@Ben Bolker指出,去(用R基本功能)的最快方法是:
data.frame(x=rnorm(100),y=rnorm(100))
的OP可能(他們不說)希望*獨立*法線,在這種情況下,他們可以更容易地使用'data.frame(x = rnorm(100),y = rnorm(100))' – 2013-02-12 13:46:08
是的,@Ben Bolker你是對的,如果OP想繪製iid正常值,那麼'data.frame (x = rnorm(100),y = rnorm(100))是你提到的最簡單的方法。 – 2013-02-12 13:48:41
或'matrix(rnorm(200),ncol = 2)'調用rnorm一次...... – agstudy 2013-02-12 14:27:35