본문 바로가기
데이타베이스

R 프로그래밍[1]

by minimax95 2020. 5. 11.

지난 포스팅에서 R과 RStudio 설치에 대해서 알아보았습니다.

 

이번 포스팅에서는 실제 RStudio 툴을 이용해서 간단하게 R 패키지에서 제공하는 기본 함수들과

그래프 통계분석에 가장 많이 사용되는 ggplot2 패키지에 대해서 알아보겠습니다.

 

먼저 변수 선언 및 할당입니다.

기본적으로 변수는 형에 대한 정의 없이 그냥 선언 후 대입형태로 사용합니다.

a <- 1   # 변수 a에 1을 대입

b = 2    # 변수 b에 2를 대입

여기서 '#' 기호는 주석을 나타냅니다.

변수 선언 및 할당은 살펴본 바와 같이 '<-' 화살표 기호를 사용하거나 '=' 등호 기호를 사용합니다.

보통은 '<-' 기호를 사용하는 것이 가독성에 좋기 때문에 선호합니다.

 

다음은 기본적인 함수를 살펴보겠습니다.

c( )   # Combine의 머리글자로 여러 개의 값으로 구성된 변수를 생성할 때 사용하는 함수입니다.

var1 <- c(1, 2, 3, 4, 5)   # 1~5까지의 숫자로 구성된 var1 변수를 생성합니다.

var2 <- c(1:5)   # 1~5까지 연속된 값으로 숫자를 생성하여 var2 변수에 할당합니다.

var3 <- seq(1,5)   # 1~5까지 연속된 값으로 숫자를 생성하여 var3 변수에 할당하며 위와 동일한 다른 함수입니다.

var4 <- seq(1, 10, by =2)  # 1~10까지 2 간격의 연속된 숫자를 생성하여 var4에 할당합니다.

 

문자 할당도 동일합니다.

str1 <- "Test"  # Test라는 문자를 str1 변수에 할당합니다.

str2 <- c("a", "b", "c")   # "a", "b", "c" 문자를 str2에 할당합니다.

주의해야 할 사항으로 R에서는 다른 언어와 달리 문자 연산이 안됩니다.

 

다음은 수학이나 통계에서 많이 사용되는 함수를 소개합니다.

먼저 설명을 위해 변수를 아래와 같은 변수를 선언해 봅니다.

x <- c(1,2,3)   # 1~3까지의 숫자를 x에 할당

mean(x)   # 중간 값을 반환해 줍니다. 결과값 => 2

max(x)   # 최대값을 반환해 줍니다. 결과값 => 3

min(x)   # 최소값을 반환해 줍니다. 결과값 => 1

 

이제는 함수를 확장하여 사용할 수 있는 패키지(packages)에 대해서 알아보겠습니다.

패키지를 사용하기 위해서는 먼저 패키지를 Install 하고 설치한 패키지를 로딩해야 합니다.

만일 ggplot2 패키지를 설치한다면 패키지 설치는 아래와 같습니다.

install.packages("ggplot2")  # ggplot2 패키지 설치, 반드시 따옴표를 사용해야 함

 

참고로 ggplot2 패키지는 R 그래픽 라이브러리 패키지로 그래프를 그리거나 시각화를 다룰 때 사용되는 패키지입니다.

 

설치한 패키지를 로딩할 때는 아래와 같이 library() 함수를 이용합니다.

library(ggplot2)  # 패키지 로드, 따옴표를 사용하지 않습니다.

기억해야 할 사항으로 패키지 설치는 한 번만 설치하면 되지만 RStudio를 새로 시작할 때는 패키지를 먼저 로드하는 작업이 선행되어야 패키지에서 제공하는 다양한 함수와 데이터를 사용할 수 있습니다.

 

실제 ggplot2 패키지에서 제공하는 몇 가지 함수를 알아보겠습니다.

사용을 위해 먼저 변수를 할당합니다.

x <- c("a", "a", "b", "c")  # a 문자가 두 번 포함된 x 변수 생성

 

qplot(x)  # 빈도 그래프 출력

a 문자의 빈도가 2인 막대그래프를 출력할 수 있습니다.

 

어떤 패키지에서 함수 기능을 자세하게 확인하고 싶을 때는 아래와 같이 해당 함수에 물음표를 넣어 Help 기능을 사용할 수 있습니다.

?qplot

 

사진의 오른편을 보시면 qplot 함수에 대한 자세한 정보를 살펴볼 수 있습니다.

 

ggplot2 패키지에서는 그래픽 관련 많은 기능을 제공해 주고 있는데

여기서는 기본적으로 패키지 설치와 로드, 기본 사용법에 대해서 알아보았습니다.

 

 

 

'데이타베이스' 카테고리의 다른 글

R 프로그래밍[2] - 텍스트 마이닝  (0) 2020.05.19
MySQL Workbench 사용법  (2) 2020.05.15
R 프로그래밍[0]  (0) 2020.05.09
데이터베이스 연동(C#)  (2) 2020.05.06
빅 데이터 개요 및 처리 기술 소개  (0) 2020.04.29

댓글