Programming practice_1
data : airquality
온도가 80도가 넘는 관측치들을 대상으로 하여
1. 1개월 간격으로 Wind의 중앙값을 구하라.
2. 위의 중앙값을 막대그래프로 그리돼, 중앙값의 크기순으로 배열하라.
subset(x,condition)을 이용하여 데이터프레임의 부분집합을 추출한다. Temp 뿐만 아니라 나머지 관측치들도 남음.
tapply(vector,index,function)를 이용하여 수치 자료에 대한 통계적 집계 또는 요약한다.
sort()를 이용해 나온 통계를 큰 순서대로 정리한다.
Programming practice_2
아래 2개의 예를 프로그램 while문을 사용하여 구현하기.
[baseball].야구 1 이닝에서 히트 수 구하기
히트로 진루하거나 아니면 아웃되는 '어린이 야구'에서 1 이닝 히트 수를 세어봅니다.
물론 아웃 3개면 이닝이 종료됩니다.
아래의 몬테칼로 스크립트에서는 타자가 히트로 진루할 확률을 0.4로, 아웃될 확률을 0.6으로 두었습니다.
sample(x(vector),size,prob)를 사용해 매 투수가 0.6의 스트라이크 0.4의 안타를 표현합니다.
[gambling].매 게임 당 1$씩 배팅하다가 다 잃을시 정지되는 도박
3$을 가지고 시작한다고 하고 각 게임에서 1$을 획득할 확률이 0.4이고 1$을 잃을 확률이 0.6이라고 합시다.
sample(x(vector),size,prob)를 사용해 매 투수가 0.6의 잃을 확률 0.4의 따낼 확률을 표현합니다.
Programming practice_3
야구에서 1 이닝 득점을 산출하는 함수 one.inning를 만들어보기로 합니다.
히트로만 진루할 수 있지만 히트의 1루타, 2루타, 3루타, 홈런을 모두 허용합니다.
작동이 제대로 되는지 확인해봅니다. 다음은 팀 A와 팀 B의 타자들의 아웃과 1루타, 2루타, 3루타,
홈런의 확률을 각각 0.75, 0.15, 0.05, 0.0.25, 0.025로 세팅하였습니다.
Programming practice_4
1. Bob Dylan의 Blowing in the wind 가사를 첨부 파일로부터 읽어, 행 별 단어 수를 산출하라
그리고 그 결과를 막대 그림으로 표출하라. 단, 2개 단어가 apostrophe로 연결된 경우는 1개 단어로 간주한다.
setwd()를 통해 코드가 실행될 환경 or 디렉토리를 설정한다.
연 단위로 구분하여 컬러를 넣을 것.
2. 위 문제를 이어 6회 출현한 단어들을 빈도가 큰 것부터 작아지는 순서로 제시하라.
scan() 엔터마다 리스트에 집어넣는다.
gsub(pattern,replacement,x)를 통해서 문자열중 특정 패턴을 찾아 어떤 문자로 대처했다.
strsplit(x,split)로 띄어쓰기마다 리스트에 집어넣는다.
unlist()를 써서 두겹의 리스트를 벡터로 변경한다.
sort()로 6번 이상 나온 단어중 많이 쓰인 단어 순으로 정리한다.
3. 위 문제를 이어 문장부호 apostrophe는 모두 몇 번 나오는가? apostrophe가 나타난 단어들의 리스트를 제시하라.
grep(pattern,x)를 사용하여 apostrophe를 잡아낸다.
unique()를 사용하여 중첩되있는 단어들을 빼고 유니크한 단어들만 뽑아낸다.
Programming practice_5
Lahman 패키지의 Pitching 데이터로부터 선수의 활동년 수를 산출하여 히스토그램으로 제시하라.
활동년수를 산출하여 히스토그램으로 제시하라.
그리고 활동년 수가 가장 큰 선수가 누구인가를 찾아 그의 ERA추세를 시도표로 보여라.
Programming practice_6
다음 벡터 x내 100개 elements 중에서 홀수는 모두 몇 개인가?
다음 벡터 x 내 단조증가 subsequences 길이 중 최대값은?
조합 수 nCk가 담긴 리스트 L을 제시하라.
다음과 같이 각 열에 최소값 0, 최대값 1의 범위 표준화 변환을 하는 R스크립트를 제시하라.
다음과 같이 카이제곱검정의 출력을 내는 R 스크립트를 제시하라. 카이제곱통계량. 자유도 p-갑이 산출되어야함.
Programming practice_7
1. 0과 1 사이의 균일 임의 수(UNIFORM RANDOM NUMBER)를 2개 취하여, 0과 2개 점, 그리고 1에서 끊기는 3개의 선분으로 삼각형이
만들어질 확률을 N(=10,000)회의 몬테칼로 시행을 통하여 추정하라.
rbind()를 하기 위해서는 결합하려는 두개의 데이터 셋의 열의 갯수와 속성, 이름이 같아야만 합니다.
2. 숫자 1부터 52가 표기된 52장의 카드를 이항 임의 수(~B(52,0.5))개를 비복원 추출하여 왼편에 놓고 나머지를 오른편에 놓는다.
그리고 왼쪽 카드들을 자체적으로 순서정렬하고 오른쪽 카드들도 자체적으로 순서정렬하여 왼쪽 카드들에 이어 놓는다.
(작은 번호일 수록 왼쪽에서 몇 번째 위치에 놓는다.)
이런 카드 재배열 작업을 N(=1O,000)회 반복하여, 2번 카드가 가장 왼쪽에서 몇 번째 위치에 나타났는지를 보고하고
그 빈도 분포를 막대그림으로 표현한다.
rbinom(n, size, prob)이항분포 난수 발생
sample(1:n,s)단순 임의 추출
order( )는 주어진 인자를 정렬하기 위한 각 요소의 색인을 반환한다.
3. 메이저리그 야구 2015년 투수들의 연봉과 IPouts (innings pitched*3)의 산점도를 제시하라.
4. 메이저 리그 야구의 1966년 - 2015년 Pitching 기록에서 연도별 최대 IPouts의 추이를 보여주는 꺽은 선 그래프를 제시하라.
단, tapply()함수를 활용해야함.
5. 메이저리그 야구의 1985-2015년 Salaries 기록에서 연도별 중간 연봉의 추이를 보여주는 꺽은 선 그래프(시도표, time plot)를 제시하라.
단, aggregate()함수를 활용해야 함. 연봉을 1,000불 단위로 할 것.