R Language
난수 생성기
수색…
무작위 순열
5 개의 숫자의 무작위 순열을 생성하려면,
sample(5)
# [1] 4 5 3 1 2
임의의 벡터의 무작위 치환을 생성하려면 :
sample(10:15)
# [1] 11 15 12 10 14 13
또한 패키지 pracma
사용할 수도 있습니다.
randperm(a, k)
# Generates one random permutation of k of the elements a, if a is a vector,
# or of 1:a if a is a single integer.
# a: integer or numeric vector of some length n.
# k: integer, smaller as a or length(a).
# Examples
library(pracma)
randperm(1:10, 3)
[1] 3 7 9
randperm(10, 10)
[1] 4 5 10 8 2 7 6 9 3 1
randperm(seq(2, 10, by=2))
[1] 6 4 10 2 8
난수 생성기의 재현성
누군가 임의의 요소를 가진 R 코드를 재생산하기를 기대하면 set.seed()
함수는 매우 편리해진다. 예를 들어,이 두 줄은 항상 다른 출력을 생성합니다 (난수 생성기의 전체 점이기 때문에).
> sample(1:10,5)
[1] 6 9 2 7 10
> sample(1:10,5)
[1] 7 6 1 2 10
이 두 제품은 또한 서로 다른 출력을 생성합니다.
> rnorm(5)
[1] 0.4874291 0.7383247 0.5757814 -0.3053884 1.5117812
> rnorm(5)
[1] 0.38984324 -0.62124058 -2.21469989 1.12493092 -0.04493361
그러나 두 경우 모두에서 시드를 동일한 것으로 설정하면 (대부분의 사람들은 단순화를 위해 1을 사용함) 두 개의 동일한 샘플을 얻습니다.
> set.seed(1)
> sample(letters,2)
[1] "g" "j"
> set.seed(1)
> sample(letters,2)
[1] "g" "j"
rexp()
그립니다 :
> set.seed(1)
> rexp(5)
[1] 0.7551818 1.1816428 0.1457067 0.1397953 0.4360686
> set.seed(1)
> rexp(5)
[1] 0.7551818 1.1816428 0.1457067 0.1397953 0.4360686
다양한 밀도 함수를 사용하여 난수 생성
다음은 다양한 확률 분포를 사용하여 5 개의 난수를 생성하는 예입니다.
0과 10 사이의 균일 분포
runif(5, min=0, max=10)
[1] 2.1724399 8.9209930 6.1969249 9.3303321 2.4054102
0 평균 및 표준 편차가 1 인 정규 분포
rnorm(5, mean=0, sd=1)
[1] -0.97414402 -0.85722281 -0.08555494 -0.37444299 1.20032409
10 개의 시도와 성공 확률 0.5의 이항 분포
rbinom(5, size=10, prob=0.5)
[1] 4 3 5 2 3
성공 확률 0.2의 기하 분포
rgeom(5, prob=0.2)
[1] 14 8 11 1 3
3 개의 흰 공, 10 개의 검은 색 공 및 5 개의 무승부로 초기 분포
rhyper(5, m=3, n=10, k=5)
[1] 2 0 1 1 1
10 번의 시도와 성공 확률 0.8의 음 이항 분포
rnbinom(5, size=10, prob=0.8)
[1] 3 1 3 4 2
평균 및 분산 (람다)이 2 인 푸 아송 분포
rpois(5, lambda=2)
[1] 2 1 2 3 4
비율 1.5의 지수 분포
rexp(5, rate=1.5)
[1] 1.8993303 0.4799358 0.5578280 1.5630711 0.6228000
0 위치 및 1의 척도를 갖는 물류 분배
rlogis(5, location=0, scale=1)
[1] 0.9498992 -1.0287433 -0.4192311 0.7028510 -1.2095458
15 자유도의 카이 제곱 분포
rchisq(5, df=15)
[1] 14.89209 19.36947 10.27745 19.48376 23.32898
형상 매개 변수가 a = 1 및 b = 0.5 인 베타 분포
rbeta(5, shape1=1, shape2=0.5)
[1] 0.1670306 0.5321586 0.9869520 0.9548993 0.9999737
형상 파라미터 3 및 스케일 = 0.5의 감마 분포
rgamma(5, shape=3, scale=0.5)
[1] 2.2445984 0.7934152 3.2366673 2.2897537 0.8573059
0 위치 및 1의 배율로 코시 분포
rcauchy(5, location=0, scale=1)
[1] -0.01285116 -0.38918446 8.71016696 10.60293284 -0.68017185
0 평균 및 표준 편차가 1 인 로그 정규 분포 (로그 스케일에서)
rlnorm(5, meanlog=0, sdlog=1)
[1] 0.8725009 2.9433779 0.3329107 2.5976206 2.8171894
형상 매개 변수가 0.5이고 스케일이 1 인와 이블 분포
rweibull(5, shape=0.5, scale=1)
[1] 0.337599112 1.307774557 7.233985075 5.840429942 0.005751181
Wilcoxon 분포는 첫 번째 샘플에서는 10 번, 두 번째 샘플에서는 20 번입니다.
rwilcox(5, 10, 20)
[1] 111 88 93 100 124
지정된 확률을 사용하여 5 개 개체 및 3 개 상자가있는 다항식 분포
rmultinom(5, size=5, prob=c(0.1,0.1,0.8))
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 1 1 0
[2,] 2 0 1 1 0
[3,] 3 5 3 3 5
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow