2021년 2학기 R입문 기말고사 (ver 1.00)
의미가 모호한 문제는 질문할것
필요한 패키지는 스스로 로드하여 사용할 것
아래와 같은 수식을 고려하자.
$$y_i= 1.5+ 5\sin(t_i)+ 3 \cos(4 t_i)+\epsilon_i, \quad i=1,2,\dots, 1000$$
여기에서 $t_i=\frac{2\pi i}{1000}$ 이다. 그리고 $\epsilon_i \sim i.i.d~ N(0,1)$, 즉 서로 독립인 표준정규분포에서 추출된 샘플이다.
(2)
$\big\{\sin(t_i) \big\}_{i=1}^{1000}$와 $\big\{\cos(4t_i) \big\}_{i=1}^{1000}$를 각각 생성하고 이를 ${\bf x}_1$와 ${\bf x}_2$에 저장하라. 즉 아래와 같은 2개의 벡터를 생성하라.
- ${\bf x}_1=\big(\sin(\frac{2\pi}{1000}),\sin(\frac{4\pi}{1000}),\dots,\sin(2\pi)\big)$
- ${\bf x}_2=\big(\cos(\frac{8\pi}{1000}),\cos(\frac{16\pi}{1000}),\dots,\cos(8\pi)\big)$
여기에서 ${\bf X}$와 ${\bf y}$는 각각 아래와 같다.
- ${\bf X}=\begin{bmatrix} 1 & \sin(\frac{2\pi}{1000}) & \cos(\frac{8\pi}{1000})\\ 1 & \sin(\frac{8\pi}{1000}) & \cos(\frac{16\pi}{1000})\\ \dots & \dots & \dots \\ 1 & \sin(2\pi) & \cos(8\pi)\\ \end{bmatrix}$, $\quad {\bf y}=\begin{bmatrix} y_1\\ y_2\\ \dots \\ y_{1000}\\ \end{bmatrix}$
또한 ${\bf X}^\top$는 ${\bf X}$의 전치행렬(transpose) 그리고 $({\bf X}^\top {\bf X})^{-1}$은 ${\bf X}^\top {\bf X}$의 역행렬을 의미한다.
10명의 참가자가 (유리,강화유리)의 쌍으로 이루어진 징검다리를 건너는 게임을 시작한다. (유리,강화유리)의 쌍은 총 20개 있다. 따라서 유리는 총 40장이 있다. 참가자는 강화유리로 된 징검다리를 밟으면 살아남지만 유리로 된 징검다리를 밟으면 죽는다. 10명의 참가자의 특징은 아래와 같다.
- 1번~8번 참가자, 10번 참가자: 50퍼센트의 확률로 강화유리를 고를 수 있다.
- 9번 참가자: 95퍼센트의 확률로 강화유리를 고를 수 있다.
다리를 건너는 순서는 아래와 같이 번호의 오름차순으로 건너는 방법과 번호의 내림차순으로 건너는 2가지 방법이 있다고 하자.
- Type A: 10번 참가자부터 다리를 건너고 그 뒤로 9번, 8번, ... 1번 순으로 다리를 건넌다.
- Type B: 1번 참가자부터 다리를 건너고 그 뒤로 2번, 3번, ... 10번 순으로 다리를 건넌다.
8번 참가자는 Type A 와 Type B 중 어떠한 경우에 살아남을 확률이 높은가?
아래는 한국의 코로나확진자 발생수를 tibble로 불러오는 코드와 그 결과이다.
df=read_csv('https://raw.githubusercontent.com/guebin/2021IR/master/_notebooks/covid19.csv')
head(df)
즉 아래를 각각 계산하고 2020년 2월1일 ~ 2020년 2월15일 기간동안 발생한 확진자의 합이 가장 큰 지역을 찾으면 된다.
- 2020년2월1일 ~ 2020년2월15일 기간 서울에서 발생한 확진자의 합 = 2020년2월1일 서울에서 발생한 확진자수 + ... + 2020년2월15일 서울에서 발생한 확진자수
- ...
- 2020년2월1일 ~ 2020년2월15일 기간 제주에서 발생한 확진자의 합 = 2020년2월1일 제주에서 발생한 확진자수 + ... + 2020년2월15일 제주에서 발생한 확진자수
즉 아래를 각각 계산하고 2020년 2월16일 ~ 2020년 2월29일 기간동안 발생한 확진자의 합이 가장 큰 지역을 찾으면 된다.
- 2020년2월16일 ~ 2020년2월29일 기간 서울에서 발생한 확진자의 합 = 2020년2월16일 서울에서 발생한 확진자수 + ... + 2020년2월29일 서울에서 발생한 확진자수
- ...
- 2020년2월16일 ~ 2020년2월29일 기간 제주에서 발생한 확진자의 합 = 2020년2월16일 제주에서 발생한 확진자수 + ... + 2020년2월29일 제주에서 발생한 확진자수
x=rnorm(1000)
hist(x)
x=-1000:1000/1000
- $x >0$: $\log (x)$를 계산하여 출력
- $x =0$: print("음의 무한대")
- $x <0$: print("x는 양수이어야 합니다.")
df=tibble(X1=rnorm(100),X2=rnorm(100))
head(df)
위의 데이터프레임 df에서 mutate
를 이용하여 Z=X1^2+X2^2
을 계산해 새로운 열 Z를 만들어라.
set.seed(1221)
mat = rbinom(n=100,size=5,prob=0.5)
dim(mat)=c(10,10)
print(mat)
즉 아래를 구하라
-
각 행의 합
- 1행의 합 = 2+3+3+ ... +3+3+3
- ...
- 10행의 합 = 2+4+4+ ... +2+1+2
-
각 열의 합
- 1열의 합 = 2+1+2+ ... +4+5+2
- ...
- 10열의 합 = 3+1+3+ ... +2+4+2
(가) 처음 두 수 $x_1$과 $x_2$의 평균을 구한다.
(나) $x_3$을 추가하여 $x_1, x_2, x_3$의 평균을 구한다.
(다) $x_4$을 추가하여 $x_1, x_2, x_3, x_4$의 평균을 구한다.
...
$x_{50}$을 추가하여 $x_1, x_2, x_3 ,\dots , x_{50}$의 평균을 구한다.
위의 과정을 시행할 결과, $x_1$과 $x_2$의 평균이 5이고, 자료 하나가 추가될때 마다 평균이 1씩 증가하였다. 이때 $x_{50}$의 값은?
(2)
복도의 라커
복도에 100개의 라커가 있다. 복도를 어떤 남자가 짝수번호의 라커를 모두 연다. 그리고 나서 3의 배수의 라커를 전부 닫는다. 그 다음에는 번호가 4의 배수인 라커를 순서대로 찾아다니며 열려 있으면 닫고, 닫혀 있으면 연다. 그 다음에는 번호가 5의 배수인 라커를 순서대로 찾아다니며 열려있으면 닫고, 닫혀있으면 연다. 이후에 6의 배수, 7의 배수 .. 인 라커를 순서대로 찾아다니며 행동을 반복한다. 이런식으로 복도를 50번 지나가면 열린 라커의 문은 몇개가 되겠는가? (주의: 중간고사문제와 약간다릅니다, 다른부분은 볼드체 표시했습니다)
$\begin{cases} w+2x+3y+4z=1 \\ 2w+2x+y=9 \\ x-y=4 \\ 3w+x-y+3z=7 \end{cases}$
다음은 인터넷에서 어떠한 자료를 다운받아 매트릭스로 저장하는 코드이다.
df=read.csv("https://raw.githubusercontent.com/guebin/2021IR/master/_notebooks/round2.csv")
X=as.matrix(df)
매트릭스는 X
이라는 변수에 저장되어 있다. 저장된 모양은 아래와 같다.
$${\bf X}=
\begin{bmatrix}
x_1 & y_1 \\
x_2 & y_2 \\
\dots & \dots \\
x_{5513} & y_{5513}
\end{bmatrix}
$$
아래를 계산하여 $\tilde{\bf X}$를 만들고
$$
\tilde{\bf X}={\bf X} \begin{bmatrix}
\cos(\frac{\pi}{4}) & -\sin (\frac{\pi}{4}) \\
\sin(\frac{\pi}{4}) & \cos (\frac{\pi}{4})
\end{bmatrix}
$$
$\tilde{\bf X}$의 첫번째열을 $x$축으로, 두번째열을 $y$축으로 하여 시각화 하라. 시각화 예시는 아래와 같다.