2.10 Homework #3

  1. 2.5절 배열에서 다룬 확장 예제 “RGB값을 무작위로 샘플링 후 매개변수로 노이즈 가중치 조절해 보기” 명령 스크립트 중 다음 아래에 해당하는 구문의 반복 명령을 최소화한 스크립트 작성 후 해당 스크립트가 정상적으로 작동하는지 그림 출력을 통해 확인하시오(라인별 의미에 대한 주석 추가할 것). 단, 그림은 2.5절 예제와 동일한 그림을 사용(Hint: *apply() 계열 함수, 코드블록({}), return(), unlist(), array() 함수 사용)


  1. R에 기본으로 내장된 mtcars 데이터셋은 다음과 같이 11개의 변수로 구성되어 있다.
변수명 변수 설명
mpg Miles/(US) gallon, 연비
cyl Number of cylinders, 엔진 기통수
disp Displacement (cu.in.), 배기량(cc 단위)
hp Gross horsepower, 마력
drat Rear axle ratio, 뒤차축비
wt Weight (1000 lbs), 무게
qsec 1/4 mile time, 1/4 mile 도달시간
vs Engine (0 = V-shaped, 1 = straight)
am Transmission (0 = automatic, 1 = manual), 변속기어
gear Number of forward gears, 전진기어 갯수
carb Number of carburetors, 기화기 갯수
  1. mtcars의 데이터 구조를 파악하고 자료의 전반적인 형태에 대해 기술 하시오.


  1. 위 코드북을 참고하여 엔진과 변속기어에 해당하는 변수를 factor로 변환 후 해당 데이터 프레임을 df 객체에 저장 하시오.


  1. df 데이터셋에서 변속기어 (am)에 따른 mpg, disp, hp, drat, wt, qsec에 대한 평균과 표준편차를 구하시오 (Hint: mean(), sd() 함수 사용). 단 각 결과는 테이블 형태로 반환되어야 함(한 객체에 모든 변수의 평균 또는 표준편차가 저장, 테이블 객체가 반환을 의미하는 것은 아님).


  1. df 데이터셋을 엔진형태(vs) 별로 나눈 후, 연비를 종속변수(\(y\))로 놓고 무게(wt)를 독립변수로 사용한 일변량 회귀식을 반환 하시오.


  1. 1912년 4월 14일 타이타닉호 침몰 사고의 생존자 정보를 담고 있는 titanic 데이터셋은 통계학적으로 범주형 데이터 분석의 예시로서 널리 사용되고 있으며, 기계학습 및 데이터 과학 커뮤니티인 Kaggle에서도 기계학습 알고리즘 경연을 위한 힉습자료로 활용되고 있다. 해당 데이터는 http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic3.csv 에서 다운로드가 가능하다. 타이타닉 데이터의 주요 변수에 대한 설명은 아래와 같다.
변수명 변수설명(영문) 변수설명(국문)
pclass Passenger Class (1=1st; 2=2nd; 3=3rd) 선실 등급
survived Survival (0=No; 1=Yes) 생존여부
name Passenger name 탐승객 성명
sex Sex 성별
age Age 나이
sibsp # of siblings/spouses abroad 동승한 형제/배우자 수
parch # of parents/children abroad 동승한 부모/자녀 수
ticket Ticket number 티켓번호
fare Passenger fare 티켓요금
cabin Cabin 선실번호
embarked Port of embarkation (C=Cherbourg; Q=Queenstown; S=Southhampton 탑승 장소
  1. 위 코드북의 내용을 codebook_tit 이란 데이터 프레임 객체에 저장 후 출력하시오.


  1. 위 URL 주소로부터 타이타닉 데이터 파일을 읽은 후 titanic 객체에 저장한 뒤 위 코드북에서 제시한 변수만 추출한 다음 df_titanic이란 객체에 저장한 결과에 대해 개괄적 형태 및 데이터 특성에 대해 기술하시오.


  1. age 변수에 포함된 결측값을 age의 전체 평균값으로 대체 하시오.


  1. df_titanic에서 age 를 다음과 같이 그룹화 후 age_group 변수(factor)를 생성 하시오.


  1. 선실 등급에 따른 남녀 별 그리고 연령 집단 별 생존 빈도 및 비율에 대해 각각 테이블로 나타내시오.


  1. 아래와 같은 데이터셋이 주어졌을 때
  • Dataset #1
surname nationality
Tukey US
Venables Australia
Tierney US
Ripley UK
McNeil Australia
  • Dataset #2
name title
Tukey Exploratory Data Analysis
Venables Modern Applied Statistics …
Tierney LISP-STAT
Ripley Spatial Statistics
Ripley Stochastic Simulation
McNeil Interactive Data Analysis
R Core An Introduction to R
  1. Dataset #1에 해당하는 데이터를 authors, dataset #2에 해당하는 데이터를 books 에 저장한 객체를 생성 하시오(단, 데이터 프레임을 구성하는 모든 변수는 문자열 변수로 저장).


  1. 두 데이터 셋을 authors 기준으로 병합한 데이터셋을 생성하시오.


  1. 두 데이터 셋의 모든 값들을 포함한 결함 데이터 셋을 생성 하시오.

과제 제출 방식

  • R Markdown 문서(Rmd) 파일과 해당 문서를 컴파일 후 생성된 html 파일 모두 제출할 것
  • 모든 문제에 대해 작성한 R 코드 및 결과가 html 문서에 포함되어야 함.
  • 모든 코드(스크립트)에는 라인 별 의미에 대한 주석을 달 것.
  • 해당 과제에 대한 R Markdown 문서 템플릿은 https://github.com/zorba78/cnu-r-programming-lecture-note/blob/master/assignment/homework3_template.Rmd 에서 다운로드 또는 스크래이핑 가능
  • 최종 파일명은 학번-성명.Rmd, 학번-성명.html 로 저장
  • 압축파일은 *.zip 형태로 생성할 것