루프의 경우를 제외하고, 매트릭스의 열에 대해 다른 평균과 표준 편차를 사용하여 행렬을 만드는 방법이 있습니까?R : 각 속성마다 다른 평균과 sd를 갖는 랜덤 포인트 생성하기
예를 들어, 각 열 (모든 특성)마다 자체 평균과 sd가 있도록 4 개의 특성이있는 3 점을 나타내는 3x4 행렬을 만들고 싶습니다.
루프의 경우를 제외하고, 매트릭스의 열에 대해 다른 평균과 표준 편차를 사용하여 행렬을 만드는 방법이 있습니까?R : 각 속성마다 다른 평균과 sd를 갖는 랜덤 포인트 생성하기
예를 들어, 각 열 (모든 특성)마다 자체 평균과 sd가 있도록 4 개의 특성이있는 3 점을 나타내는 3x4 행렬을 만들고 싶습니다.
난 당신이 찾고있는 것을 확실하지 오전하지만이 도움이 될 수 있습니다 :
matrix(c(x = rnorm(n=3,mean=0.5,1),
y = rnorm(n=3,mean=2, 4),
z = rnorm(n=3, mean=3.5, 10),
a= rnorm(n=3,mean=5,12)),nrow=3,ncol=4)
[,1] [,2] [,3] [,4]
[1,] 0.7876793 2.9456827 8.082376 -3.065875
[2,] -0.9956971 4.2766553 14.178532 -5.003888
[3,] 2.1224071 0.7110594 6.744876 -11.006110
참고 : 데이터가 무작위로 생성되는대로 다른 결과를 내기 수 있습니다. 각 열은 고유 한 평균 및 표준 편차를가집니다.
예, 루프없이 수행 할 수 있습니다. R에있는 행렬이 행 우선 순서로 저장된다는 점을 이용하여 평균 및 sd 벡터를 복제하여 일치시킵니다.
means <- c(1, 10, 100, 1000)
sds <- c(0.1, 1, 10, 100)
rows <- 3
cols <- 4
m <- matrix(rnorm(rows*cols, m=rep(means, each=rows), s=rep(sds, each=rows)),
rows, cols)
m
[,1] [,2] [,3] [,4]
[1,] 0.9993278 11.694798 105.53191 841.2182
[2,] 0.8945916 9.556729 92.90462 1212.6817
[3,] 0.9889313 10.088022 113.67009 991.2138
이 방법으로 많은 행렬을 만들려는 경우이 기능을 쉽게 사용할 수 있습니다. –