Page 1

R 기초


R 설치 • Windows 용 다운로드 – http://www.r-project.org – 좌측의 “CRAN” 클릭

이윤환 (yoonani72@gmail.com)


R 설치 – 대한민국(Korea)의 중 하나를 선택

이윤환 (yoonani72@gmail.com)


R 설치 • 본인 운영체제에 맞춰 선택

이윤환 (yoonani72@gmail.com)


R 설치 – Base 클릭

이윤환 (yoonani72@gmail.com) R 입문


R 설치 – Download R x.xx.x for Windows 클릭 – 이후 다운로드 받아 실행하면 바로 설치 된다.

이윤환 (yoonani72@gmail.com)


R 실행하기 • 프로그램 그룹에서 R을 찾고 그 아래의 “R x.xx.x” 클릭

이윤환 (yoonani72@gmail.com)


R 화면

이윤환 (yoonani72@gmail.com)


계산기로써의 R • 산술 연산 – +(더하기), -(빼기), *(곱하기), /(나누기), ^ (승수)

이윤환 (yoonani72@gmail.com)


계산기로써의 R • 논리 연산 : 결과를 참(TRUE)과 거짓(FALSE)으 로 갖는 연산 연산자

설명

<

Less than, binary

>

Greater than, binary

==

Equal to, binary

>=

Greater than or equal to, binary

<=

Less than or equal to, binary

&

And, binary, vectorized

&&

And, binary, not vectorized

|

Or, binary, vectorized

||

Or, binary, not vectorized

이윤환 (yoonani72@gmail.com)


변수와 상수 • 상수 – 숫자 2의 의미가 변할 수 있을까? – 1, 2, 3 … 등과 R의 문자열인 “a”, “abc”… 등은 그 의미 가 숫자와 문자로 정해져 있다. – 즉 표기 자체의 의미가 변하지 않는 것을 상수라고 하고 숫 자와 큰 따옴표로 둘러쌓여진 문자들은 상수로 사용된다.

• 변수 – 큰 따옴표로 둘러싸여지지 않은 알파벳은 자료를 담는 그릇 이라 생각하자. – 이 그릇은 대입연산자(<-, 부등호와 Dash)을 통해 값을 넣 는다. – 변수에는 상수값을 넣을 수도 있고 또 다른 변수를 넣을 수 도 있다.

이윤환 (yoonani72@gmail.com)


변수와 상수 • 다음 상황에서 값은 뭐가 나올 것으로 생각하십 니까?

이윤환 (yoonani72@gmail.com)


Vector : R의 기본 자료형 • x <- 5 의 예에서 x는 5라는 값 하나를 갖는 스칼라(Scalar) 자료 • 학생들의 키를 조사한다고 할 경우 학생 수 만큼 변수를 만들어서 값 을 입력하는 것은… • 하나의 변수에 모든 학생들의 관찰값을 넣어 보관한다면 좀 더 쉽게 자료를 관리할 수 있다. • 함수 c(…) – R Console 에서 help(c ) 라고 입력해 보자

이윤환 (yoonani72@gmail.com)


Vector • 다음 예를 살펴보자

이윤환 (yoonani72@gmail.com)


Vector 연산 • Vector는 스칼라와 연산시 스칼라 값이 Vector 의 각 원소와 연산 을 한다. • Vector 끼리의 연산은

– 먼저 각 Vector의 원소의 개수가 같아야 한다.

이윤환 (yoonani72@gmail.com)


Vector 연산 – Vector의 원소 개수가 서로 다를 경우에는 서로 배수 의 관계에 있을 때 계산 가능

이윤환 (yoonani72@gmail.com)


다른 방법으로 Vector 만들기 • 연산자 : “:”

이윤환 (yoonani72@gmail.com)


다른 방법으로 Vector 만들기 • 함수 : seq(), rep() seq( from = 1, to = 1, by = n, length.out = NULL, ... )

이윤환 (yoonani72@gmail.com)


다른 방법으로 Vector 만들기 • 함수 : seq(), rep() rep( x = vector, (times | each) = n, )

이윤환 (yoonani72@gmail.com)


Vector 특정 원소 추출 • Vector명 뒤에 대괄호([]) 쌍으로 특정 원소 추출 – 대괄호 값이 양수일 경우 • 해당 위치의 값을 가져온다.

– 대괄호 값이 음수일 경우 • 해당 위치의 값을 제외하고 가져 온다.

– 대괄호에 논리연산이 들어갈 경우 • 연산의 결과로 참(TRUE)이 되 는 위치의 값을 가져온다.

이윤환 (yoonani72@gmail.com)


Arrays and matrices • Array – 배열에 대한 수학적 의미와 비슷하게 생각하자. • n 차원을 갖고 있다

– 배열의 생성 • dim : 속성으로 차원 vector를 갖는다.

이윤환 (yoonani72@gmail.com)


Arrays and matrices

1500개의 원소를 갖는 vector

z는 3차원을 가지며 1차원 : 3, 2차원 : 5, 3차원 : 100개의 원소 3 * 5* 100 = 1,500


Arrays and matrices – 배열의 생성 • array() 이용 array( data : vector, dim : dimension vector, [dimnames = NULL] : 차원의 이름 list )

이윤환 (yoonani72@gmail.com)


Arrays and matrices • Matrix – 배열의 특별한 경우로 행과 열을 갖는 (즉, 2차원 배열) 배열을 Matrix 라 한다. – Matrix 생성 • matrix() 함수 이용

이윤환 (yoonani72@gmail.com)


Arrays and matrices matrix( data : vector, nrow = 1, ncol = 1, : 행과 열의 수 byrow = FALSE, : data를 행단위로 읽을지 여부 [dimnames = NULL] : 차원의 이름 list )

이윤환 (yoonani72@gmail.com)


Arrays and matrices • Matrix 생성 – cbind(), rbind() 이용 » cbind()는 주어진 Vector 혹은 Matrix를 열로 묶고 rbind()는 행으로 묶는다.

이윤환 (yoonani72@gmail.com)


Arrays and matrices • Array indexing – 앞선 3차원 배열의 경우 – 배열명[1st dim, , ] • Ex) > z[1, ,]

; 1차원의 인덱스가 1인 원소 출력 2차원이 5, 3차원이 100이므로 원소의

개수는 500 1차원의 인덱스를 1로 고정한 나머지는 2차원 배열처럼 출력

이윤환 (yoonani72@gmail.com)


Arrays and matrices

이윤환 (yoonani72@gmail.com)


Arrays and matrices – 배열명[1st dim, 2nd dim, ] • Ex) > z[1, 1,] ; 1차원의 인덱스가 1, 2차원의 인덱스가 1인 원소 출력 3차원의 원소의 개수는 100이므로 100개의 Vector 출력

이윤환 (yoonani72@gmail.com)


Arrays and matrices – 배열명[1st dim, 2nd dim, 3rd dim] • Ex) > z[1, 1, 1]

; 1차원의 인덱스가 1, 2차원의 인덱스가 1, 3차원의 인덱스가 1인 스칼라 출력

이윤환 (yoonani72@gmail.com)


Arrays and matrices – Index Matrices • Array의 특정 원소의 위치를 값으로 갖는 배열 • 특히 2차원 배열 즉, matrix에 값을 줄 때 각 행 별로 첫 열에 행, 두번째 열에 열 index를 부여한다.

이윤환 (yoonani72@gmail.com)


Data Frame • Matrix의 경우 서로 다른 자료형을 넣을 수 없다. • 실제 자료들은 속성(열) 별로 서로 다른 자료형이 한데 섞여 있는 경 우가 많으므로 이럴 경우 Data Frame을 사용하면 유용하다. • data.frame 함수 – 서로 다른 자료형 벡터에 대해 cbind() 한 효과와 유사

이윤환 (yoonani72@gmail.com)


Data Frame • Indexing – Dataframe명$열이름 – Dataframe명[[열 번호]] – Matrix와 같이 표현

이윤환 (yoonani72@gmail.com)


Package 설치와 사용 • R Package – R 기능을 확장하는 기능 모둠 – R을 사용하는 사용자들이 제작하고 등록한 함수, Data 등으로 구성

• Package 설치와 사용 – R Console 창에 다음과 같이 입력하자 (alr3 라는 package 설치) > install.packages("alr3")

– 옆에 보이는 화면과 같이 어디서 해당 Package를 다운로드 받을 것인지 사용자가 선택하도록 한다. • Korea 를 선택하자

– 방금 설치한 alr3 를 사용하기 위해 다음과 같이 입력하자 > library(alr3)

– alr3가 갖고 있는 자료 fuel2001이 있는지 확인하자. > fuel2001 Drivers FuelC Income Miles MPC Pop Tax AL 3559897 2382507 23471 94440 12737.00 3451586 18.00 …

이윤환 (yoonani72@gmail.com)


작업공간 설정 : setwd() • 다음과 같이 C 드라이브에 “R_work”라는 디렉토리를 만들자.

• R Console에서 다음과 같이 입력해 보자. > setwd(“c:\\R_work”) 이윤환 (yoonani72@gmail.com)

01 r 기초