욱이의 냉철한 공부

[R, 정리] R의 특징과 장점, 사용이유 본문

데이터분석/R

[R, 정리] R의 특징과 장점, 사용이유

냉철한 욱 2021. 6. 22. 03:10

 

R은 제가 가장 자주, 잘 사용하는 툴이자 언어에요.

 

처음 데이터 공부를 R로 시작했기 때문에 그런 것일지도 모릅니다.

 

Python을 자주 사용하면서 익히고 싶지만..

 

아직 스몰데이터만 만져본 저에게는 R은 너무 친근하고 쉽게 다가오네요~!

 

그럼 왜 R을 사용하는지 알아볼까요~?

 


 

 

=> 굵은 색은 제가 가장 중요하다고 생각하는 부분이에요

 

 

1. R이 무었인가?

- 뉴질랜드 오클랜드 대학의 Robert Gentleman 와 Ross Ihaka이 1995년에 개발하였다.

- 이름이 R인 이유는 두 개발자의 이름 모두 R로 시작하기 때문이다.

- R은 데이터 분석을 위한 통계 및 그래픽스를 지원하는 자유 소프트웨어 환경이다.

- 그 뿌리는 벨 연구소에서 만들어진 통계 분석 언어 S에 근간을 두고 있다.

- http://cran.nexr.com/ 여기서 다운~

 

 

 

 

2. R을 쓰는 주된 이유

- 기본적인 통계와 시각화 가능 -> 그래서 R에 통계용어가 매우 많다.

- 다양한 통계, 시각화 패키지들이 존재하고 있다. -> 코딩을 하지 않아도 다양한 기능을 구현 할 수 있다.

- 복잡한 데이터들을 다양한 그래프로 표현 할 수 있다.

- 어떠한 OS에서도 설치가 가능하다. 심지어 아이폰에도 설치 할 수 있다.

- 무료이며, 오픈소스이다.

- 직관적이고 쉽게 데이터 전처리를 할 수 있다.

- hadoop과 연결하여 사용이 가능하다.

 

 

 

 

 

3. R의 주된 특징

- R은 자바가 밑바탕이다. 자바로 만들어진 프로그램이다!

- 위의 특징 때문에 R을 사용하기 위해 자바를 구축할 수 있는 환경을 만드는 것이 좋다.

- R은 대부분의 언어와 연동 가능한 유연함을 가지고 있다.

- R은 버젼 에 따라 사용할 수 있는 패키지의 범위가 다르다.

- R 최신 버젼은 사용할 수 있는 패키지에 제약이 있을 수 있지만 오류가 적게 난다.

- R은 함수와 절차형 언어의 혼합이다.

- 프로그래밍 언어의 3가지 기본 기능(C언어 기준 : 배정(int a),분기(if),반복(for))을 가지고 있다.

- R은 대소문자를 구별한다.

- R에 스칼라는 없다. 무조건 벡터이다.

- R은 정제된 데이터를 가져와서 처리할 수 있는 툴이며, 데이터를 저장하고 생성하지 않는다.

- R패키지

함수를 모아둔 것이 패키지이다.

내가 패키지 만들어서 메뉴얼에 올릴 수 있다.

사람들이 올린 패키지를 사용하는 것이다.

현재 약 6000개 이상의 패키지가 있다.

 

 

 

 

 

4. R의 문제

빅데이터 느리다.

=> 모든 데이터를 메모리에 로딩 후 처리한다. 불필요한 데이터 저장으로 메모리 부족 현상이 일어난다.

그렇기에 GB 데이터는 어려움이 있다.

=> 처리가 느리기 때문에 기계 학습 패키지 경우 매우 느리다.

 

 

 

 

 

 

5. R 사용에 있어 기본적으로 알아야 할 것

- R의 명령어 대부분은 함수 형태이다.

- R의 명령어는 외우는 것이 아니라 매뉴얼을 참고하거나 tab키를 이용하여 사용한다.

- R이 처음에 설치되었을 때 사용 할 수 있는 함수 목록은 기본 함수이다. 즉 기본적으로 설치되어 있는 패키지가 있다.

- 패키지 설치하여도 library 명령어를 사용하여 활성화해야 한다.

- 64bit 2개 열어서 작업하면 충돌한다. 즉 중복 작업 할 수 없다.

하지만 32bit하고 64bit 동시에 여는 것은 가능하다. 그래도 되도록 1개만 열어서 사용하도록 한다.

 

 

 

 

 

6. R 사용에 있어 기본적으로 알아야 할 명령어

- data() : 데이터셋 기본 설치되어 있는 것. 데이터 목록들을 보여준다.

- getwd() : 현재 저장 경로

- setwd() : 저장 경로 설정

- dir() : 현재 저장 경로에 있는 파일 목록 보여준다.

- install.packages("ggplot2") : 필요한 패키지 다운 받는다. (ggplot2는 예시)

- search() : 내가 사용할 수 있는 패키지 목록 보여준다. (install.packages로 다운 받고 library로 활성화 시켜야 목록에 나타난다.)

- installed.packages() : 설치 되어 있는 패키지 목록을 보여준다.

- library() : 패키지를 사용할 수 있도록 가동한다.

- remove.packages() : 보통 사용하지 않고, 충돌하였을 때 사용한다.

- ls() : 배정으로 공간 얼마나 차지하고 있는지 목록 보여준다.

- str(변수) : 배정 변수가 무엇을 저장하고 있는지 알려준다.

- search(), ls(), str(변수) 은 R에서 가장 많이 사용하는 명령어

공간을 만들 수 있는데 타입 종류는 의미가 없다. 무엇을 집어 넣을 지가 중요하지 않고 집어넣고 결정한다.

즉 배정할 때 C언어의 int, float, double, char을 지정 할 필요가 없다.

그래서 확인이 필요하고 사용하는 함수가 ls()와 str()이다.

- Sys.Date() : 현재 날짜

- Sys.Time() : 현재 날짜, 시간