Presentation is loading. Please wait.

Presentation is loading. Please wait.

R 실행. 2014년 가을학기 손시운 지도 교수: 문양세 교수님.

Similar presentations


Presentation on theme: "R 실행. 2014년 가을학기 손시운 지도 교수: 문양세 교수님."— Presentation transcript:

1 2014년 가을학기 손시운 (ssw5175@kangwon.ac.kr) 지도 교수: 문양세 교수님

2 R 실행

3 R의 두 가지 사용 방식 인터랙티브 모드 (Interactive Mode)  주로 사용 배치 모드 (Batch Mode)
명령어를 입력하면 결과를 바로 보여주는 형식 배치 모드 (Batch Mode) 사용자와 인터랙션이 없음 여러 줄로 구성된 소스 코드를 일괄적으로 처리 실행 작업에 유용 User R Command Result 인터랙티브 모드 User R 배치 모드 Source code Result

4 R의 두 가지 사용 방식 (1/3) 인터랙티브 모드 “임의의 수 10개를 생성한다.”
“100개의 임의의 수를 생성하여 절대 값을 취하고 평균을 구한다.”

5 R의 두 가지 사용 방식 (2/3) - skip 배치 모드 (1/2) “임의의 수 100개를 생성해 히스토그램을 그린다.”
기호 ‘#’은 주석을 의미 실행

6 R의 두 가지 사용 방식 (3/3) - skip 배치 모드 (2/2) 결과

7 R 기초

8 값 할당 및 데이터 연결 기호 ‘<-’: 다른 언어의 기호 ‘=’와 유사하게 값을 할당하는 기호
c() 함수: 데이터(벡터)들을 연결하는 함수 벡터 이름만 입력해도 벡터에 저장된 값을 출력할 수 있음 함수 c()안에 다른 벡터를 저장할 수 있음

9 인덱싱 출력 벡터 내 개별 값들을 기호 ‘[]’를 통해 찾을 수 있음
기호 ‘[]’ 내에 들어가는 값을 ‘인덱스’ 또는 ‘첨자’라고 함 인덱스는 다른 언어와 달리, 0이 아닌 1부터 시작 인덱스에 콜론(:)을 사용하여, 범위를 지정할 수 있음

10 데이터 세트 및 그래프 data() 함수: R에 내장되어 있는 데이터 세트의 리스트를 출력
hist() 함수: 데이터 세트를 통하여 히스토그램을 출력 e.g. R에 내장된 나일강의 흐름에 대한 데이터 세트를 히스토그램으로 표현 > hist(Nile)

11 R 함수

12 함수 소개 (1/2) 함수: 입력 값을 넣고, 이를 계산해 결과 값을 출력하는 명령어들의 묶음
e.g. 정수형으로 이뤄진 벡터에서 홀수의 개수를 세는 oddcount()함수 정의

13 함수 소개 (2/2) line 1~7: oddcount <- function(x) { … }
x를 입력 받아 {…} 내에서 처리하는 함수를 oddcount라는 이름으로 정의 line 2: k <- 0 k의 값을 0으로 할당 line 3~5: for (n in x) { … } x에서 값을 순서대로 하나씩 n으로 할당하여 반복 line 4: if (n %% 2 == 1) k <- k+1 %%는 나머지 값을 돌려주는 모듈로 연산자 n의 값이 홀수일 경우 k 값을 1씩 증가시키는 조건문 line 6: return(k) 계산 결과(k)를 돌려주는 함수 return()함수 없이 간단히 k라 작성할 수 있음

14 변수의 범위 지역 변수: 함수 본문 내에서만 볼 수 있는 변수 전역 변수: 함수 밖에서 생성되는 변수
oddcount()에서는 x, k, n이 지역변수 함수 호출 후에 모두 사라짐 전역 변수: 함수 밖에서 생성되는 변수

15 기본 인수 인수: 함수를 호출할 때, 함수에 입력하는 변수 기본 인수: 함수 호출 시, 따로 지정해주지 않아도 초기화되는 변수
e.g. g <- function (x, y=2, z=T) { … } 함수 g()를 호출할 때, y와 z를 지정해주지 않으면 2와 True로 초기화 g(12, z=FALSE)라고 호출 시, x=12, y=2, z=FALSE로 초기화

16 R 데이터 구조

17 벡터 R의 핵심 벡터의 원소는 모두 같은 데이터 형태를 가져야 함 스칼라 e.g. 세 개의 문자열로 이뤄진 문자 형식의 벡터
단일 수치를 변수에 할당할 경우, 실제로 변수는 하나의 원소를 갖는 벡터 e.g. x <- 8 x[1]이 8인 벡터 x

18 문자열 문자열: 실제로는 문자 형식의 단일 원소를 갖는 벡터 y는 한 개의 원소를 갖는 문자열 벡터
z는 두 개의 원소를 갖는 문자열 벡터 length() 함수: 벡터의 길이를 구하는 함수 mode() 함수: 벡터의 데이터 형을 구하는 함수

19 행렬 (1/2) 행렬: 행과 열의 개수라는 두 가지 속성을 추가로 갖는 벡터
rbind() 함수: 벡터들을 행으로 결합하여 행렬을 만듦 (행 결합) cbind() 함수: 벡터들을 열로 결합하여 행렬을 만듦 (열 결합) %*%: 행렬 곱 연산자 예제에서는 행렬 m과 벡터 (1,1)의 곱을 계산

20 행렬 (2/2) 행렬은 C/C++ 또는 Python과 달리, 인덱스가 1부터 시작
행렬의 행(또는 열)을 비워, 부분 행렬을 구할 수 있음

21 리스트 (1/2) 리스트: 여러 데이터 형을 담을 수 있는 데이터 구조
C/C++의 구조체 및 Python의 딕셔너리와 유사 각 원소는 $ 기호로 구분 리스트는 보통 함수에서 여러 값을 하나의 묶음으로 합쳐 반환할 때 사용

22 리스트 (2/2) e.g. 나일강 데이터의 히스토그램 리스트
hist() 함수에서 그래프를 만들며 여러 값을 가진 리스트를 반환

23 데이터 프레임 일반적인 데이터 세트는 여러 형식의 데이터를 포함
e.g. employee 데이터 세트는 name(문자열), salary(정수) 등 이러한 데이터는 R의 행렬로 표현할 수 없음 데이터 프레임: 일종의 리스트로서, 각 리스트의 구성 요소는 벡터 데이터 프레임은 파일 또는 DB에서 데이터 세트를 읽을 때 사용

24 도움말 사용

25 help() 함수 help() 함수: 온라인 도움말을 보기 위한 함수 e.g. seq() 함수에 대한 정보가 필요할 경우
> help(seq) > ?seq 특수 문자와 일부 예약어를 help() 함수에 사용할 경우 “”를 동시에 사용 > ?"<" > ?"for"

26 example() 함수 example() 함수: 함수의 예제들을 실제로 실행
e.g. 산술적 방법을 통해 다양한 방법의 숫자 배열을 생성하는 seq() 함수 예제

27 무엇을 찾는지 정확히 모르는 경우 help.search() 함수: R의 문서를 구글처럼 검색
e.g. 다변량 정규 분포 식과 관련된 함수가 필요할 경우 > help.search("multivariate normal") mvrnorm() 함수가 있으며, 이 함수는 MASS 패키지에 있음을 확인


Download ppt "R 실행. 2014년 가을학기 손시운 지도 교수: 문양세 교수님."

Similar presentations


Ads by Google