지난 포스팅에서 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 |
댓글