R 프로그램은 1995년 뉴질랜드의 Auckland 대학의 Robert Gentleman과 Ross Ihaka에 의해 개발되었다. 두 개발자의 이름의 머리글자를 이용하여 “R”로 명명된 것이다. R 프로그램은 배열 및 행렬로 표현된 데이터에 대하여 효과적인 연산자를 이용해 자료 분석, 시뮬레이션 및 시각적 표현에 유용한 객체지향적 프로그래밍 언어 이라고 할 수 있다.
R 프로그램은 1970년 중반에 AT&T 벨 연구소에서 개발된 S 언어를 기반으로 하고 있다. 현재 S 프로그램은 S-PLUS로 상업화되어 있으며 R 프로그램은 무료로 제공되고 있다. 따라서 R과 S는 엔진이나 모형식의 표현 등에서 약간의 차이가 있으나 근본적으로는 같은 소프트웨어이라 할 수 있다.
R 프로그램은 공개 소프트웨어라는 점 이외에 아래와 같은 다양한 장점을 가지고 있다.
- 대화식의 프로그램 수행 및 결과물의 객체화
- 쉬운 프로그래밍
- 다양한 확장성 : UNIX, 맥킨토시, 윈도우즈 등의 다양한 컴퓨터 운영체제에서 R 소프트웨어 사용이 가능하며, JAVA, C, Fortran 등의 언어와의 인터페이스 지원과 각종 데이터 접근이 용이한 확장성을 지닌다.
- 전 세계 사용자들에 의해 작성된 최신의 다양한 함수와 패키지의 활용성.
- 도움말 기능 등.
1. 설치
1.1 R 소프트웨어 설치
R의 설치는 공식 사이트
를 방문하여 자신의 컴퓨터 OS에 맞는 R을 선택하여 다운 받거나 커블 클릭하여 설치한다. 가능하다면 3.0 이상의 버전을 선택
설치 후 바탕화면에 생성된 R 아이콘을 클릭하여 R을 실행하면, 아래 그림과 같은 공식적인 R 콘솔 창이 나타난다.
콘솔창의 프롬프트는 ‘>’로 표시된다. 이것은 이곳에 R 명령어를 입력하라는 표시이다. 콘솔창에서 각종 명령어들을 입력하면 즉시 결과를 응답해 준다. 예를 들어 1+1의 결과를 변수 x에 저장하고자 한다면,
> x<- 1+1
> x
[1] 2
그래서 이와 같은 프로그래밍 언어를 크게 대화형 언어이라 한다.
명령문들이 많을 때나 함수 프로그램을 작성할 때, 콘솔창에서는 한계가 있다. 이 경우 편집기를 사용할 수밖에 없는데, 콘솔창의 탑 메뉴에서 File → New script를 선택하면 그림 의 오른쪽에 나타낸 그림과 같은 편집기가 나타난다. 이곳에서 스크립트나 함수 프로그램을 작성할 수 있다.
그러나 이 편집기 사용은 매우 불편하며, 자주 실행이 중단되는 등의 문제점을 가지고 있다. 이러한 불편함과 문제점을 극복한 다양한 R 편집기들이 무료로 배포되고 있다. “RStudio”라는 쉘-편집기를 이용할 것이다.
1.2 RStudio 설치
RStudio 홈페이지
https://www.rstudio.com/products/rstudio/download3/
를 방문하여, 홈페이지 하단에 있는 파일 중 자신의 PC 사양과 맞는 파일을 클릭하여 실행한다.
설치 후 RStudio 아이콘을 클릭하면 아래와 같은 RStudio 초기 화면이 나타난다.
2. R 사용을 위한 기본 지식
[1] 주석
"#" 다음에 나타나는 모든 문장은 주석으로서 실행에 영향을 미치지 않는다. 명령어 문장을 설명하는 목적으로 주로 사용된다.
> 1+2 #두 수의 합 [1] 3 |
(노트) 위 계산 결과에서 “[1]”의 표시는 결과값 중 몇 번째인가를 나타내는 번호다. 여기서는 결과값이 1개이므로 “[1]” 만 표시되었다.
[2] 할당문은 실행은 되지만 그 결과는 콘솔창에 나타내지 않는다. 할당 결과를 콘솔에 나타내려면 “( )”로 감싼다.
> x=2 > > (x=2) [1] 2 |
[3] 명령문들의 구분은 세미콜론 “;”으로 한다.
> x=2; y=x+1; x; y [1] 2 [1] 3 |
[4] 할당 기호 “<-”과 “=”
변수에 어떤 값을 할당하는 R의 공식적 명령기호는 “<-” 이다. 그러나 어느 버전부터인가부터 “=”도 허용하기로 하였다.
그 이유는 두 개의 키 “<”과 “-”를 사용하여 번거롭기 때문이다. 또 하나의 이유는 쉽게 실수를 범할 수 있기 때문이다.
> x<-1; x< -1 |
첫 번째는 “x에 1을 할당하라”라는 명령으로서 변수 x에 1을 할당한다.
두 번째는 할당문이 아니라 “x는 -1 보다 작은가?”를 묻는 조건문으로서 그 결과는 “FALSE”이다.
본 강좌에서는 “<-” 대신에 “=”을 사용할 것이다. 그러나 “1->x” 역시 “x에 1을 할당하라”는 명령인 반면 “1=x”는 허용되지 않는다.
마지막으로 “x<<-1”도 “x에 1을 할당하라”는 명령이지만, 이때 x는 지역변수가 아닌 전역변수가 된다.
이에 대해서는 함수를 공부할 때 설명할 것이다.
[5] 문자 자료의 할당
문자자료는 단순 따옴표 ' ' 혹은 이중 따옴표 " "로 입력된 자료
> s1='My'; s2="R" > s1; s2 [1] "My" [1] "R" |
[6] 다중 할당
R에서는 동일한 값을 다중할당
> x=y=z=1 #다중할당 > x;y;z [1] 1 [1] 1 [1] 1 |
[7] 객체란?
R에 의해 생성된 모든 대상들을 객체라 한다. 예를 들어, 상수, 변수, 함수, 배열, 리스트, 행렬 등등 모두는 객체이다.
객체의 명명 규칙은 다음과 같다.
① 영문자 대소 문자와 숫자 그리고 “.”과 “_”를 혼합해서 만든다.
(유의) R은 다른 언어와는 달리 도트 “.”는 자료 객체의 어떤 하위 자료구조 연산자를 의미하지 않는 단순한 문자에 불과하다. R에서 하위구조 연산자는 “$” 이다.
② 첫 문자로 아래 막대 “_”은 사용할 수 없다.
③ if, for, while 등과 같이 R 예약어는 사용할 수 없다.
④ 예약 상수(NULL, NA, NaN, Inf)는 사용할 수 없다.
⑤ East Asia 버전에서는 한글을 사용할 수 있다.
⑥ 대소문자는 서로 다른 문자로 구분한다. 예를 들어, x와 X는 서로 다른 객체이다.
⑦ 최대 256자 이내로 한정되어 있다.
[8] 객체 관리
① 객체 보여주기
ls() 혹은 objects(): 현재 사용되고 있는 객체들
> ls() [1] "a" "A" "b" "clst" [5] "clst0" "dmvnorm" "docs" "edge.color" [9] "ex01" "F" "g" "i" [13] "maxiter" "mixp" "mu" "Mu" [17] "Mu0" "mu1" "mu2" "mvn" [21] "mvnpdf" "myCorpus" "n" "n1" [25] "n2" "nmm" "nouns" "p" [29] "pal" "rmvnorm" "s" "S" [33] "S1" "S2" "Sigma" "Sigma0" [37] "size" "sumF" "Tau" "text" [41] "Theta" "wordFreq" "x" "X" [45] "x1" "X1" "x2" "X2" [49] "y" |
② 객체 제거하기
rm() 혹은 remove(): 괄호 안에 나열된 객체를 제거한다.
(예) rm(X), remove(Tau)
[11] 패키지(Package)
패키지란 특수한 기능을 수행하기 위해 모아놓은 R 객체들을 말한다. 다른 언어에서 라이브러리와 같은 것이라고 이해하면 된다.
R에는 사용자들이 특정 작업을 수행하기 만들어 놓은 패키지들이 무수히 많다. 이것들을 사용하려면 해당 사이트에서
다운로드 받아 사용할 수 있다.
R을 설치할 때 기본적으로 구동되는 패키지는 대략 10가지 쯤 된다. 이들을 보려면 “search()”를 입력한다.
> search() [1] ".GlobalEnv" "tools:rstudio" [3] "package:stats" "package:graphics" [5] "package:grDevices" "package:utils" [7] "package:datasets" "package:methods" [9] "Autoloads" "package:base" |
search()로 검색되는 항목들은 리스트, 데이터프레임, 패키지들이다. attach(), detach() 함수로 등록하고 제거한다.
① 외부 패키지 설치 및 구동하기
“igraph”라는 패키지를 설치
> install.packages("igraph") |
위 명령을 입력하여 에러 메시지가 없다면 R의 하위 폴더인 library 폴더에 패키지가 설치된다.
igraph 패키지가 설치되었다고 바로 사용할 수 있는 것은 아니다.
이 패키지를 사용하기 위해서는 다음과 같이 구동
> library("igraph") |
igraph 패키지가 제대로 구동되고 있는지 확인하기 위해 search()를 입력
> search() [1] ".GlobalEnv" "package:igraph" [3] "tools:rstudio" "package:stats" [5] "package:graphics" "package:grDevices" [7] "package:utils" "package:datasets" [9] "package:methods" "Autoloads" [11] "package:base" |
패키지에 igraph가 포함되어 있다.
② 구동 패키지 해제하기
현재 구동되는 패키지를 해제하려면 아래와 같은 문장을 입력
> detach("package:igraph", unload=TRUE) |
<RStudio에서 패키지 설치>
① 화면 오른쪽 하단의 목록 창에서 “Packages” 탭을 선택하고
② <Install> 버튼을 누른다.
③ “Install Packages” 팝업 창에서 “igraph”를 입력하고 <Install> 버튼을 누른다.
<RStudio에서 설치된 패키지 구동 및 해제>
설치된 igraph 패키지를 “체크 버튼”을 누른다 (이것은 콘솔창에서 libray를 수행하는 것과 같다).
만약 igraph 패키지의 구동을 중단하려면 “체크 버튼”을 해제한다.
추천
기초 R 2
1.벡터(vector) 자료 [1] c() 함수 이용 R에서 기본적인 방법은 함수 “c()”를 이용하는 것이다. 이 함수의 괄호 내에 자료를 나열함으로써 자료를 생성 c(자료 나열) > x=c(1, 3, 0.5, 5) #수치 자료 벡터 >
dasoni1004.com
'study > Rstudio' 카테고리의 다른 글
R 시각화 - 1(시각화 함수) (0) | 2021.01.15 |
---|---|
기초 R 4 (0) | 2021.01.14 |
기초 R 3 (0) | 2021.01.12 |
기초 R 2 (0) | 2021.01.02 |
R Markdown기초 (0) | 2020.12.31 |