r_source_code
This is an old revision of the document!
Table of Contents
제37회 KOBIC 차세대 생명정보학 교육 실습용 R 코드
이 소스코드는 저자(인하대학교 유동현 교수)의 허락을 받고 공개하는 것이다. 실행환경의 customization과 설명을 위하여 약간의 수정이 이루어진 곳이 있을 수 있다. R을 이용한 데이터 시각화 실습에 쓰인 코드는 유충현·홍성학 공저 R을 활용한 데이터 시각화(인터넷 교보문고 링크)에서 저자의 허락을 받고 발췌 정리한 것이다.
1일차: R을 이용한 데이터 핸들링 및 프로그래밍
R의 소개 및 기본 기능
연습 문제
- lars라는 이름의 패키지를 설치하고 불러오시오.
- lars 패키지에서 제공되는 함수 및 자료 목록을 출력하시오.
- string과 관련된 R 함수를 검색하시오.
- rnonm() 함수에 대한 도움말 참조하여 예제 코드를 실행하시오.
- BMI(체질량 지수)를 계산하시오. 계산식은 체중 / 키(m)의 제곱이며 18.5 미만은 저체중, 18.5-24.9는 정상임.
R의 데이터 구조
연습 문제
- 성분으로 “0”, “21”, “12”, “16”을 갖는 문자열 벡터를 ch라는 이름으로 생성하시오.
- 1번의 ch를 숫자형 변수로 변환하여 y에 저장하고, y를 오름차순으로 정렬하여 저장하시오.
- seq() 함수를 이용하여 y2라는 변수명으로 0, 8, 16, 24d의 수열을 생성하시오.
- y < y2의 논리값과 y ⇐ y2의 논리값 중 간은 값의 갯수는 얼마인가?
- 등차수열 1,3,5,…를 1항부터 30항까지 생성하여 x에 저장하시오.
- repeat() 함수를 이용하여 TRUE, FALSE의 순서로 반복. 벡터의 크기가 10이 되도록 논리 벡터를 생성하여 x2라는 이름으로 저장하시오.
- x에서 10보다 크고 20보다 작은 원소의 합을 구하시오.
- x를 이용하여 6 x 5의 행렬을 생성하고 xmat 이름으로 저장하시오(행 기준으로 채움).
- xmat에서 apply() 함수를 이용하여 행별 합, 열별 평균, 열별 분산값을 각각 계산하여 sumr, meancm varc의 이름으로 리스트 z에 저장하시오.
R을 이용한 데이터 다루기
연습 문제
- Ex_data.csv(gzipped) 파일로부터 자료를 읽어서 dat으로 저장하시오.
- head() 함수를 이용하여 입력된 dat를 확인하시오.
- dat 자료의 차원을 구하시오.
- data의 첫번째 열에서 유전자의 이름을 추출하고 gene_name.txt 파일에 저장하시오.
- dat의 2~10 열의 성분을 선택하여 새로운 변수에 저장하고 sub_data.txt 파일에 저장하시오(필드 구분자는 tab).
- dat에서 유전자의 이름의 길이가 7보다 큰 경우만 선택하여 sub_data2.csv 파일로 저장하시오(필드 구분자는 comma).
- dat에서 결측값의 갯수를 구하시오.
- dat에서 결측값의 위치를 1차원 인덱스로 찾으시오.
- dat에서 결측값의 위치를 2차원 인덱스로 찾으시오.
- 9번에서 찾은 dat의 결측값의 위치를 index 변수에 저장하고 이를 활용하여 모든 결측값을 10으로 변경하시오.
R을 이용한 프로그래밍
연습 문제
- 1에서 100까지 차례로 더해 나갈 떄, 처음으로 합이 1000을 넘게 만드는 수는 무엇인지 for 문과 break 문을 이용하여 구하시오. 또한 처음으로 1000을 넘었을 때 누적합은 얼마인지 구하시오.
- 반복문을 이용하여 50부터 100까지의 합을 계산할 때, 짝수의 합을 계산하는 코드를 작성하시오(next 함수를 사용)
- x = runif(1000,0,100)을 실행하고 x의 값이 5보다 크고 20보다 작은 수만 선택하여 합을 계산하고자 할 때, 아래와 같이 코드를 작성하시오.
- 반복문과 조건문을 이용하여 계산하고 실행 시간을 체크하시오.
- 인덱스를 이용하여 계산하고 실행 시간을 체크하시오.
2일차: R의 기초 통계 분석 및 데이터 시각화
R의 기초 통계 분석
R을 이용한 회귀 분석
R을 이용한 데이터 시각화
기타 유용한 팁
r_source_code.1513299903.txt.gz · Last modified: (external edit)