8. 주사위 던지기

CHOI·2021년 6월 12일
0

R

목록 보기
8/10
post-thumbnail

이번에는 주사위를 던졌을 때 특정 숫자가 얼마의 확률로 나오는지 알아보는 연습을 하자.

물론 우리는 그 확률이 1/6이라는 것을 이미 알고 있지만 실제로 10번 돌렸을 때, 100번 돌렸을 때, 1000번 돌렸을 때 얼마만큼의 확률이 나오는지 확인해보자.

1. runif()

runif 는 0부터 1사이의 랜덤숫자를 '()' 괄호안에 숫자의 개수만큼 나타내는 것이다.

앞에 'r' 는 'random' 을 말한다.

runif(50)

우리는 이 함수를 다음과 같이 활용할 것이다.

  1. 랜덤숫자를 10000개로 설정
  2. 곱하기 6을 하여 1의 자리값을 올려주자
  3. 소수점 첫째 자리에서 올림을 해서 1부터 6까지의 숫자가 나오도록 하자

2. ceiliing()


먼저 10000개로 한 다음에 곱하기 6을 해주면 다음과 같이 나온다. 여기서 올림을 해주면 되는데 올림을 할 때 사용하는 함수는 ceiling 이다.

이렇게 하면 1부터 6까지의 숫자가 나오는 것을 확인할 수 있다. 이러면 우리가 주사위를 10000번 던진 것이다.

3. table


이제 특정 숫자가 몇 번씩 나왔는지 확인해보기 위해서 table 함수를 활용하여 확인해보자.

그러면 위와 같이 특정 숫자가 몇 번씩 나왔는지 정리되어 나타나는 것을 확인할 수 있다.


여기서 잠깐 위의 코드를 정리해서 갈 필요가 있다. 지금은 위의 코드가 매우 간단하기 때문에 별 문제가 없지만 특정 숫자가 계속해서 사용되고 코드가 길어지면 코드를 수정할 때 실수하기가 쉽고 오류도 발생할 가능성이 높다 그렇기 때문에 미리 변수를 지정하여 넣어주면 좋다.

위의 경우에는 숫자를 던진 횟수나 주사위 숫자의 개수 등을 변수로 지정해주는 것이다.

이런식으로 정리해주면 된다.

4. barplot

이제 만들어진 table 를 barplot로 만들어준다.

그러면 이렇게 특정 숫자가 몇 번이나 나오는지 인사이트를 얻을 수 있다.

위의 그래프를 보면 특정 숫자가 더 많이 나오는 것 같은데 만약 경우의 수를 10만번으로 늘리면 어떻게 될까?

거의 동일하게 나온 것을 볼 수 있다.

profile
벨로그보단 티스토리를 사용합니다! https://flight-developer-stroy.tistory.com/

0개의 댓글