2

ガウスである R に 100 個のランダムな (x,y) ポイントのセットを作成する必要があります。どうすればいいですか?

4

1 に答える 1

5

mvrnormMASS パッケージの関数を見てみましょう

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

編集

ガウス過程の平均は 0、分散は 1、相関は 0 であるため、正解は次のようになります。

mvrnorm(n=100, c(0, 0), diag(c(1,1)))

平均ベクトルとc(0,0)ユニタリ共分散行列diag(c(1,1))

@Ben Bolkerが指摘したように、(R Base関数を使用して)最速の方法は次のとおりです。

data.frame(x=rnorm(100),y=rnorm(100))
于 2013-02-12T13:33:25.487 に答える