r_source_code
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
r_source_code [2017/12/12 11:50] – hyjeong | r_source_code [2021/03/17 13:09] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== 제37회 KOBIC 차세대 생명정보학 교육 실습용 R 코드 ====== | ====== 제37회 KOBIC 차세대 생명정보학 교육 실습용 R 코드 ====== | ||
- | 이 소스코드는 저자(인하대학교 유동현 교수)의 허락을 받고 공개하는 것이다. 실행환경의 customization과 설명을 위하여 약간의 수정이 이루어진 곳이 있을 수 있다. **R을 이용한 데이터 시각화** 실습에 쓰인 코드는 유충현·홍성학 공저 **R을 활용한 데이터 시각화**(인터넷 교보문고 [[http:// | + | 이 소스코드는 저자(인하대학교 유동현 교수)의 허락을 받고 공개하는 것이다. 실행환경의 customization과 설명을 위하여 약간의 수정이 이루어진 곳이 있을 수 있다. **R을 이용한 데이터 시각화** 실습에 쓰인 코드는 유충현·홍성학 공저 **R을 활용한 데이터 시각화**(인터넷 교보문고 [[http:// |
+ | 모든 실습용 데이터 파일 압축본: {{ : | ||
===== 1일차: R을 이용한 데이터 핸들링 및 프로그래밍 ===== | ===== 1일차: R을 이용한 데이터 핸들링 및 프로그래밍 ===== | ||
==== R의 소개 및 기본 기능 ==== | ==== R의 소개 및 기본 기능 ==== | ||
+ | === 연습 문제 === | ||
+ | - lars라는 이름의 패키지를 설치하고 불러오시오. | ||
+ | - lars 패키지에서 제공되는 함수 및 자료 목록을 출력하시오. | ||
+ | - string과 관련된 R 함수를 검색하시오. | ||
+ | - rnonm() 함수에 대한 도움말 참조하여 예제 코드를 실행하시오. | ||
+ | - [[https:// | ||
+ | |||
+ | [[day1_exercise1|연습 문제 해답]] | ||
==== R의 데이터 구조 ==== | ==== R의 데이터 구조 ==== | ||
[[Day1_Practice2|실습 코드]] | [[Day1_Practice2|실습 코드]] | ||
+ | === 연습 문제 === | ||
+ | - 성분으로 " | ||
+ | - 1번의 ch를 숫자형 변수로 변환하여 y에 저장하고, | ||
+ | - seq() 함수를 이용하여 y2라는 변수명으로 0, 8, 16, 24d의 수열을 생성하시오. | ||
+ | - y < y2의 논리값과 y <= y2의 논리값 중 간은 값의 갯수는 얼마인가? | ||
+ | - 등차수열 1, | ||
+ | - repeat() 함수를 이용하여 TRUE, FALSE의 순서로 반복. 벡터의 크기가 10이 되도록 논리 벡터를 생성하여 x2라는 이름으로 저장하시오. | ||
+ | - x에서 10보다 크고 20보다 작은 원소의 합을 구하시오. | ||
+ | - x를 이용하여 6 x 5의 행렬을 생성하고 xmat 이름으로 저장하시오(행 기준으로 채움). | ||
+ | - xmat에서 apply() 함수를 이용하여 행별 합, 열별 평균, 열별 분산값을 각각 계산하여 sumr, meancm varc의 이름으로 리스트 | ||
+ | |||
+ | [[day1_exercise2|연습 문제 해답]] | ||
+ | |||
+ | |||
+ | |||
==== R을 이용한 데이터 다루기 ==== | ==== R을 이용한 데이터 다루기 ==== | ||
- | [[day1_practice3|실습 코드]] | + | [[day1_practice3|실습 코드]] |
+ | |||
+ | === 연습 문제 === | ||
+ | - {{ : | ||
+ | - 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으로 변경하시오. | ||
+ | |||
+ | [[day1_exercise3|연습 문제 해답]] | ||
==== R을 이용한 프로그래밍 ==== | ==== R을 이용한 프로그래밍 ==== | ||
[[day1_practice4|실습 코드]] | [[day1_practice4|실습 코드]] | ||
+ | === 연습 문제 === | ||
+ | - 1에서 100까지 차례로 더해 나갈 때, 처음으로 합이 1000을 넘게 만드는 수는 무엇인지 for 문과 break 문을 이용하여 구하시오. 또한 처음으로 1000을 넘었을 때 누적합은 얼마인지 구하시오. | ||
+ | - 반복문을 이용하여 50부터 100까지의 합을 계산할 때, 짝수의 합을 계산하는 코드를 작성하시오(next 함수를 사용) | ||
+ | - x = runif(1000, | ||
+ | * 반복문과 조건문을 이용하여 계산하고 실행 시간을 체크하시오. | ||
+ | * 인덱스를 이용하여 계산하고 실행 시간을 체크하시오. | ||
+ | |||
+ | [[day1_exercise4|연습 문제 해답]] | ||
===== 2일차: R의 기초 통계 분석 및 데이터 시각화 ===== | ===== 2일차: R의 기초 통계 분석 및 데이터 시각화 ===== | ||
Line 26: | Line 73: | ||
===== 기타 유용한 팁 ===== | ===== 기타 유용한 팁 ===== | ||
+ | [[http:// | ||
+ | | ||
r_source_code.1513047054.txt.gz · Last modified: (external edit)