본문 바로가기
study/Rstudio

기초 R 1

by hena79 2021. 1. 1.
반응형

썸네일

 

R 프로그램은 1995년 뉴질랜드의 Auckland 대학의 Robert GentlemanRoss Ihaka에 의해 개발되었다. 두 개발자의 이름의 머리글자를 이용하여 “R”로 명명된 것이다. R 프로그램은 배열 및 행렬로 표현된 데이터에 대하여 효과적인 연산자를 이용해 자료 분석, 시뮬레이션 및 시각적 표현에 유용한 객체지향적 프로그래밍 언어 이라고 할 수 있다.

 

R 프로그램은 1970년 중반에 AT&T 벨 연구소에서 개발된 S 언어를 기반으로 하고 있다. 현재 S 프로그램은 S-PLUS로 상업화되어 있으며 R 프로그램은 무료로 제공되고 있다. 따라서 RS는 엔진이나 모형식의 표현 등에서 약간의 차이가 있으나 근본적으로는 같은 소프트웨어이라 할 수 있다.

 

R 프로그램은 공개 소프트웨어라는 점 이외에 아래와 같은 다양한 장점을 가지고 있다.

 

- 대화식의 프로그램 수행 및 결과물의 객체화

- 쉬운 프로그래밍

- 다양한 확장성 : UNIX, 맥킨토시, 윈도우즈 등의 다양한 컴퓨터 운영체제에서 R 소프트웨어 사용이 가능하며, JAVA, C, Fortran 등의 언어와의 인터페이스 지원과 각종 데이터 접근이 용이한 확장성을 지닌다.

- 전 세계 사용자들에 의해 작성된 최신의 다양한 함수와 패키지의 활용성.

- 도움말 기능 등.

 

 

 

 

 

1. 설치

1.1 R 소프트웨어 설치

R의 설치는 공식 사이트

http://www.r-project.org/

를 방문하여 자신의 컴퓨터 OS에 맞는 R을 선택하여 다운 받거나 커블 클릭하여 설치한다. 가능하다면 3.0 이상의 버전을 선택

 

설치 후 바탕화면에 생성된 R 아이콘을 클릭하여 R을 실행하면, 아래 그림과 같은 공식적인 R 콘솔 창이 나타난다.

R- 콘솔창과 편집기

 

콘솔창의 프롬프트는 ‘>’로 표시된다. 이것은 이곳에 R 명령어를 입력하라는 표시이다. 콘솔창에서 각종 명령어들을 입력하면 즉시 결과를 응답해 준다. 예를 들어 1+1의 결과를 변수 x에 저장하고자 한다면,

 

> x<- 1+1

> x

[1] 2

 

그래서 이와 같은 프로그래밍 언어를 크게 대화형 언어이라 한다.

 

명령문들이 많을 때나 함수 프로그램을 작성할 때, 콘솔창에서는 한계가 있다. 이 경우 편집기를 사용할 수밖에 없는데, 콘솔창의 탑 메뉴에서 File New script를 선택하면 그림 의 오른쪽에 나타낸 그림과 같은 편집기가 나타난다. 이곳에서 스크립트나 함수 프로그램을 작성할 수 있다.

 

그러나 이 편집기 사용은 매우 불편하며, 자주 실행이 중단되는 등의 문제점을 가지고 있다. 이러한 불편함과 문제점을 극복한 다양한 R 편집기들이 무료로 배포되고 있다.  “RStudio”라는 쉘-편집기를 이용할 것이다.

 

 

1.2 RStudio 설치

 

Rstudio&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp; 설치 파일들

 

RStudio 홈페이지

https://www.rstudio.com/products/rstudio/download3/

를 방문하여, 홈페이지 하단에 있는 파일 중 자신의 PC 사양과 맞는 파일을 클릭하여 실행한다.

설치 후 RStudio 아이콘을 클릭하면 아래와 같은 RStudio 초기 화면이 나타난다.

RStudio&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp; 초기 화면

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

첫 번째는 “x1을 할당하라라는 명령으로서 변수 x1을 할당한다.

두 번째는 할당문이 아니라 “x-1 보다 작은가?”를 묻는 조건문으로서 그 결과는 “FALSE”이다

 

본 강좌에서는 “<-” 대신에 “=”을 사용할 것이다. 그러나 “1->x” 역시 “x1을 할당하라는 명령인 반면 “1=x”는 허용되지 않는다.

 

마지막으로 “x<<-1”“x1을 할당하라는 명령이지만, 이때 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 버전에서는 한글을 사용할 수 있다.

대소문자는 서로 다른 문자로 구분한다. 예를 들어, xX는 서로 다른 객체이다.

최대 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