R은 데이터 분석과 통계 모델링을 위한 강력한 프로그래밍 언어입니다.
고급 통계 분석과 다양한 시각화,
더 나아가 머신러닝 등 알고리즘을 적용할 수 있지만
엑셀 등에서 사용하는 간단한 분석 또한 할 수 있습니다.
그럼 엑셀 등에서 하면 되지 굳이 R 프로그래밍을 배워야할, 사용해야할 이유가 있을까할텐데
제가 생각하기에는 R 프로그램이던지 파이썬이던지
코딩을 통해 데이터 분석을 할 필요성은 충분히 있다고 생각합니다.
#R프로그래밍필요성
일반 직장인 기준으로 R 프로그래밍을 하면 좋은 점을 알려드리겠습니다.
예를 들어 마케팅부서에서 일을 하는 A가 있다고 보겠습니다.
A는 매일매일 광고(홍보)한 결과를 가지고 성과 분석을 한다고 하겠습니다.
보다 직관적으로 관리를 하기 위해
다양한 성과 지표를 활용해서 하나의 지표를 만들어낸다고 하겠습니다.
그러면 1. 매일 관리하는 성과 지표를 다운로드 받고
2. 이것을 내부 로직에 따라 계산을 한 후에
3. 보기 편하게 시각화 작업을 해야합니다.
이러한 경우 R 프로그래밍을 하여 자동화하면
1. 작업하는 시간을 단축할 수 있으며,
2. 로직에 대한 순차적인 기록이 가능해서
향후 검토, 수정, 전달이 용이합니다.
그래서 업무 효율성이 매우 높일 수 있습니다.
개인적으로 하는 업무를 전체를 R 프로그래밍을 통해 대체할 필요는 없다고 생각합니다.
다만, 일부분에 대해 잘 대체해서 사용한다면 업무 효율성을 매우 올릴 수 있다고 생각합니다.
글쓴이의 경우 예전에 2주 동안 했던 업무를 2~3시간만에 대체하여 사용하기도 했습니다.
#R패키지
R 프로그래밍을 시작하기 전에 몇 가지 기본적인 개념에 대해 이해하는 것이 중요합니다.
복잡하거나 어려운 것은 아닙니다.
물론 세부적으로 이해를 한다면 아니겠지만 저희는 사용자 입장에서 이런 게 있구나 정도로 알고 잘 활용하면 되는 것이라고 생각합니다.
R 프로그램에서는 패키지(Package)이라는 것이 있습니다.
R에서 패키지는 함수, 데이터, 문서 등의 관련된 요소들을 하나로 묶은 것입니다.
패키지는 특정 기능이나 작업을 수행하기 위한 함수(기능)들의 집합입니다.
패키지에 대해 어렵게 생각할 필요가 없이
다른 사람이 R프로그램을 보다 쉽게 사용할 수 있도록
데이터분석이나 시각화 등의 기능을 개발한 것이라고 생각하면 될 것 같습니다.
예를 들어 A 기능, B 기능이 있는데 많은 사람들이
A와 B기능을 순차적으로 사용한다면
A+B 기능을 합친 C 기능 만들어서 공유하는 것입니다.
그래서 간단하게 C 코딩만 쓰면 자연스럽게
A와 B 기능이 된다고 생각하시면 될 것 같습니다.
그러면 이런 패키지는 어떻게 쓸 수 있는거냐하면,
CRAN(Comprehensive R Archive Network) 등의 저장소에서
다운로드하여 설치할 수 있습니다.
CRAN이라고 하면 뭔가 복잡한거 같은데,
그냥 단순하게 코딩창에 명령어를 하나 쓰면 끝납니다.
예를 들어, “dplyr”은 데이터 조작 작업을 위한 유명한 R 패키지가 있습니다.
이 패키지를 사용하고 싶으면, 사전에 아래의 코딩을 입력 실행시켜주면 됩니다.
(실행방법 : 해당 코드 블록을 선택한 후 Ctrl + Enter를 누르면 됩니다.)
install.packages(“dplyr”)
#R라이브러리
R에서 라이브러리는 이미 설치된 패키지를 현재 세션에 로드하는 역할을 합니다.
즉, library() 함수를 사용하여 원하는 패키지를 로드하고
해당 패키지에 포함된 함수와 기능을 사용할 수 있게 됩니다.
이것도 설명을 조금 쉽게 하면,
R 프로그램은 메모리 등의 효율성을 위해서
프로그램이 시작이 되면 기존에 설치했던 패키지가 활성화가 되지 않습니다.
그래서 매번 프로그램을 시작시 사용해야할 필요성이 있는 패키지는
라이브러리를 통해 활성화를 시켜줘야합니다.
그래서 결론을 내리면 필요한 패키지가 있으면 1번 설치를 하면 되고,
R 프로그래밍(코딩)에서 사용하는 패키지가 있으면 라이브러리를 실행하는 것이 좋습니다.
“dplyr” 패키지 로드(라이브러리)하는 방법은 아래와 같이 코딩을 하고 실행을 시켜주면 됩니다.
library(dplyr)
일반적으로 스크립트 상단에 필요한 모든 패키지를 로드하는 것이 좋습니다.
#R데이터구조
R 프로그래밍은 이 외에도 벡터(vector), 행렬(Matrix), 데이터 프레임(data frame), 리스트(List), 팩터(Factor) 등 다양한 구조가 존재합니다.
1. 벡터(Vector):
벡터는 R에서 가장 기본적인 데이터 구조입니다.
동일한 유형의 값들이 순서대로 저장되는 1차원 배열입니다.
c() 함수를 사용하여 여러 값을 결합하여 벡터를 생성할 수 있습니다.
2. 행렬(Matrix):
행렬은 2차원 배열로서 동일한 유형의 값들이 행과 열로 구성됩니다.
matrix() 함수를 사용하여 행렬을 생성할 수 있으며, 원소들은 순서대로 채워집니다.
3. 데이터 프레임(Data Frame):
데이터 프레임은 열(column)마다 서로 다른 유형의 값들을 포함할 수 있는 테이블 형태의 자료구조입니다.
각 열은 벡터로 구성되며, 모든 열의 길이가 같아야 합니다.
data.frame() 함수나 외부 파일(csv 등)을 읽어와 생성할 수 있습니다.
4. 리스트(List):
리스트는 서로 다른 유형의 객체들을 하나의 자료구조에 저장하는 데 사용됩니다.
각 요소(element)는 임의의 객체(벡터, 행렬 등)가 될 수 있습니다.
list() 함수를 사용하여 리스트를 생성할 수 있습니다.
5. 팩터(Factor):
팩터는 범주형 변수(Categorical variable)를 나타내기 위해 사용됩니다.
일정한 개수의 고유한 값을 가지며 각 값은 라벨(label)과 정수값(integer level)으로 매핑됩니다.
위에 언급된 데이터 구조 외에도 많은 다른 형태와 종류가 존재합니다.
R 프로그래밍에서 적절한 데이터 구조 선택은 작업 목적과 필요에 따라 달라집니다.
이러한 다양한 데이터 구조를 활용하여 R에서 강력하고 유연한 분석 작업을 수행할 수 있습니다.
하지만 향후 제가 올리는 포스팅에서는 데이터프레임을 기준으로 설명을 드리고자 합니다.
다양한 형태가 있지만 일반적으로 엑셀에 익숙해서 있는 직장인이나 일반인들은
데이터프레임을 기준으로 설명 및 활용을 하는게 보다 용이하기 때문입니다.
#그외규칙
그 외에 R 프로그래밍을 하는데에는 폴더 지정시 “\” 대신 “/”을 사용한다던지, 영문 소문자와 대문자를 구분을 하는 것 등등 다양한 규칙들이 있습니다.
이러한 내용들은 복잡해 보일 수도 있겠지만 천천히 한 단계씩 익혀 나가면서 자신만의 실력과 스타일을 발전시켜 나갈 수 있기 때문에 포기하지 말고 꾸준하게 사용하면 효과적으로 사용하실 수 있을 겁니다.
R은 활발한 커뮤니티와 방대한 생태계가 있는 언어로서 지속적인 학습과 익숙함이 필요합니다.
오픈 소스 생태계라 그 발전 속도가 매우 빠르기 때문에 관심 있는 주제나 분야에서 계속해서 검색을 해서 찾아보면 보다 쉽고 편하게 사용하실 수 있을 겁니다.