Language/R 12

[02-2] R언어 - 연산 (Arithmetic)

R언어에서의 연산은 여타 다른 언어의 연산과는 조금 다른 측면이 있다. 기본 연산연산자 기본 연산 R언어는 간단하게 변수에 정수값을 할당하여도 vector 형식의 object로 관리한다. > a = 1 > is.vector(a) [1] TRUE 가장 기본적인 object 형태라고 볼 수 있는데, R언어의 연산을 설명하기 위하여 vector 기반으로 설명하고자 한다. 간단한 예를 보면 다음과 같다. > n1 = c(1,2,3,4,5,6,7,8,9) > n2 = c(1,2,3,4,5,6,7,8,9) > n1 + n2 [1] 2 4 6 8 10 12 14 16 18 좀 더 복잡한 예를 보면 다음과 같다. > n1 = c(1,2,3,4,5,6,7,8,9) > n2 = c(1,2,3,4,5,6,7,8,9) > n..

Language/R 2017.12.06

[01-3] R언어 - 학습의 구성

[01-1] 에 언급하였듯이 통계학에 대한 기본 학습이 필요하다. 통계학에 대한 부분은 다루기가 어려워 아래와 같은 순서로 기본 문법과 주요 function 들에 대해서만 다루고자 한다. 01. R언어01-1. R이란 무엇인가?01-2. 설치 하기01-3. 학습의 구성 02. R언어 기본 정의 및 동작02-1. 할당 (Assignment) 02-2. 연산 (Arithmetic)02-3. Regular sequence 생성02-4. Missing value (누락값) 표현 03. R언어 object03-1. Object의 정의 및 종류03-2. type와 mode 차이의 이해03-3. vector03-4. matrix03-5. array03-6. factor03-7. list03-8. data frame0..

Language/R 2017.12.05

[03-5] R언어 - array 의 상세

R언어의 기본이 되는 object의 종류는 다음과 같다.. vectormatrixarrayfactorlistdata framefunction 본 글에서는 array의 사용에 대해 설명한다. array의 기본array에의 접근array의 계산 1. array의 기본 R언어에서 array는 일반적으로 알려져 있는 것과 같이 같은 mode(type)의 데이터가 연속적으로 나열되어 있는 구조를 의미한다.1차원, 2차원, 3차원 및 고차원으로 선언이 가능하다. array는 다음과 같이 선언한다. a a1 a1 [1] 1 2 3 4 5 6 7 8 9 10 11 12 2차원 array의 예) > a2 a2 [,1] [,2] [,3] [,4] [1,] 1 4 7 10 [2,] 2 5 8 11 [3,] 3 6 9 12 ..

Language/R 2017.11.24

[02-1] R언어 - Assignment (할당)

R언어에서 임의의 object에 특정 값을 할당하는 방법에는 여러 방법이 있다. '''='assign function 가장 기본적인 data structure 중 하나인 numeric vector를 예를 들어 할당 방법에 대해 알아보자 1. '' > a1 a1 [1] 1 3 5 7 9 > c(1,3,5,7,9) -> a2 > a2 [1] 1 3 5 7 9 많은 R언어 관련 예제들이 해당 방법을 사용해서 할당을 하고 있다. C언어에서 동일한 기호를 다른 목적으로 사용하는 만큼 헷갈리지 않도록 잘 인지가 필요하다. 2. '=' ''의 경우는 2개의 문자를 사용해야 한다. 이를 좀 더 줄이기 위해, 다른 언어에서의 할당과 마찬가지로 '='도 마찬가지로 사용 가능하다. > b1 = c(2,4,6,8,0) > b..

Language/R 2017.11.10

[03-1] R언어 - Object의 정의 및 종류

object의 종류vectormatrixarrayR언어에서 생성하고 다루는 개체를 objects라고 한다. 번역시 오역이 있을 수 있어 manual 상에 적힌 영문을 기술하면 다음과 같다. The entities that R creates and manipulates are known as objects. R언어에 있어 가장 기본이 되는 단위(?)로 해당 object는 변수(variables), 숫자 배열(arrays of numbers), 문자열(character strings), 함수(functions) 등으로 구분될 수 있다. 현재 R console 상 정의되어 있는 objects의 목록을 보려면 ls() 혹은 objects()를 입력하면 되는데 아래와 같이 변수, 숫자배열, 문자열, 함수 등을 선..

Language/R 2017.11.10

[03-8] R언어 - Data frame 의 상세

R언어에서 data를 다루는 방법에는 다음과 같은 방법이 있다. scalars vectors matricesdata frameslists 본 글에서는 data frames의 사용에 대해 설명한다. Data frames 기존 vector와 matrix는 같은 mode 의 element만으로 구성이 가능하다. 즉, numeric이면 numeric, character면 character, logical이면 logical로만 구성이 가능한 것이다. 하지만 데이터를 처리하다 보면 다양한 mode로 구성할 필요가 있는데 이 때 사용되는 것이 data frame이다. 기본적인 사용의 예) > fruit = data.frame(species=c("apple","banana","melon"), + count=c(3,7,..

Language/R 2017.11.09

[03-4] R언어 - matrix 의 상세

R언어의 기본이 되는 object의 종류는 다음과 같다.. vectormatrixarrayfactorlistdata framefunction 본 글에서는 matrix의 사용에 대해 설명한다. matrix의 기본matrix에의 접근자세한 argument 설명datanrowncolbyrow 1. matrix의 기본 Matrices를 한마디로 정의하면 table과 같은 2차원 vector라고 할 수 있다. 완전히 동일하지는 않지만 C언어의 2차원 배열과 유사하다. Matrices는 matrix function을 통해 다양한 방법으로 생성 가능하다. 먼저 matrix function의 definition은 아래와 같다. matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE..

Language/R 2017.11.08

[03-3] R언어 - vector 의 상세

R언어의 기본이 되는 object의 종류는 다음과 같다.. vectormatrixarrayfactorlistdata framefunction 본 글에서는 vector의 사용에 대해 설명한다. vector의 기본vector에의 접근vector에 데이터 입력순차적인 값 입력반복적인 값 입력vector를 이용한 계산vector의 element들에 대한 naming조건에 기반한 vector의 element 추출 1. vector의 기본 vector를 한마디로 정의하면 동일 objects의 집합 (같은 mode인 데이터의 1차원 나열)라고 할 수 있다. 완전히 똑같지는 않지만 C언어의 배열과 유사하고, 다른 matrix나 data frame을 만들 때 필요한 기본형이라고 보면 이해가 쉽다. > sample = c..

Language/R 2017.11.08

[03-2] R언어 - type와 mode 차이의 이해

R언어를 공부하면서 가장 헷갈렸던 부분 중에 하나가 아닐까 한다. object는 뭐고, mode는 또 뭐고, type은 또 무엇이란 말인가? 결론적으로 말하면 object는 R언어에서 다루는 하나의 entity(개체)이고, 이 object가 memory에 올라갈 때의 형식이 type 혹은 mode로 표현된다. 즉, 모든 object는 type과 mode 값을 가지고 있다. 그렇다면 type과 mode의 차이는 무엇인가? 먼저, type은 R언어 자체에서 사용하는 분류이다. R언어는 C언어를 이용해 코딩되었는데, 이 C언어 상에서 실제적으로 서로 구분하는 type을 나타낸다. 반면 mode는 "Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New ..

Language/R 2017.11.07

[04-1] R언어 - 관련 학습 문서 및 사이트

https://www.stat.berkeley.edu/~s133/all2011.pdf: UC 버클리에서 진행한 "Concepts in Computing with Data" 수업의 수업교재(강의 홈페이지 : https://www.stat.berkeley.edu/~s133/) https://cran.r-project.org/doc/contrib/Torfs+Brauer-Short-R-Intro.pdf: R언어 공식 홈페이지에서 제공하는 12 페이지짜리 짧은 가이드 문서 https://cran.r-project.org/doc/manuals/R-intro.pdf: R언어 공식 홈페이지에서 제공하는 105 페이지짜리 가이드 문서 R 관련 사이트 http://www.r-tutor.com/http://www.r-blo..

Language/R 2017.11.07

[01-2] R언어 - 설치하기

[R 언어란 무엇인가?] R 언어는 다양한 플랫폼에서 사용 가능하다. 해당 플랫폼으로 Linux, OS X, Windows 가 있다. 다운로드를 위해 [R 언어 홈페이지]를 방문하면 CRAN 이라는 용어를 접할 수 있다. CRAN(Comprehensive R Archive Network) is a network of ftp and web servers around the world that store identical, up-to-date, versions of code and documentation for R. Please use the CRAN mirror nearest to you to minimize network load. 해당 사이트에 정의된 CRAN은 위와 같다. R 언어를 위한 최신의 코..

Language/R 2017.11.07

[01-1] R언어 - R 이란 무엇인가?

요즘들어 R 이라는 언어가 주위에서 자주들려온다. 대체 기존 언어들과 비교해서 어떤 점이 다른 언어인가? 우선 R 언어를 언급하기 전에 S 언어에 대해 알아볼 필요가 있다. S 언어는 통계에 기반한 프로그래밍 언어이다. 이 언어의 목적은 "어떤 아이디어에 대해서 좀 더 빠르고 충실하게 소프트웨어로 구현 가능하게 "이다. S 언어는 2가지 버전이 있다. 무료로 배포되는 GNU S상용 버전인 Insightful의 S-PLUS 앞서 언급된 GNU S가 바로 우리가 알아보고자 하는 R 언어이다. 통계에 기반한 언어라는 것은 대체 무엇일까. 일반적으로 생각해 보면 통계라는 것은 다양한 데이터를 기반으로 이들 데이터에서 의미있는 어떤 것을 구해내는 것이다. 물론 많은 용도가 있겠지만 데이터 분석을 위한 언어가 주 ..

Language/R 2017.11.07