(NCS) R 기초문법
Page content
I. 개요
- R을 처음 접하는 사람들을 위한 입문 포스트.
- 기존에 R을 하셨던 분들은 가볍게 보도록 한다.
- 프로그램을 설치한다.
- 필수 R: https://www.r-project.org/
- 옵션(1) RStudio: https://rstudio.com/
- 옵션(2) PyCharm: https://www.jetbrains.com/ko-kr/pycharm/download/
- R은 일종의 엔진이기 때문에 필수로 설치한다.
- 파이썬과 같이 쓰는 유저라면
PyCharm
을 R만 사용한다면RStudio
를 사용한다.
- 파이썬과 같이 쓰는 유저라면
(1) 데이터 분석의 기본 흐름
- 데이터 수집, 저장, 가공, 시각화, 모델링, 보고서 (대시보드)
- 입문자, 서비스 기획자는 전체의 생태계를 보자.
- PDF - 강사 메뉴얼 참조
II. CRAN 생태계 이해하기
- 전세계의 수많은 사람들과 조직들이 데이터, 통계, 머신러닝 등 다양한 문제를 해결하기 위해 여러 함수를 만들어 공유하는 곳입니다. (집단지성의 요체)
- 이중에는 아마존, 구글, MS 데이터 팀들이 내놓은 패키지도 존재함
- 오픈소스의 매우 특기할만 강점입니다.
- 새로운 패키지는 앞으로도 계속 만들어질 것이며, 스스로 학습할 수 있는 능력이 중요함
- 그렇다면 어떻게 공부할 것인가?
- 데이터 입문자: 다양한 책과 스터디에 참석 권유
- 서비스 기획자: R 컨퍼런스 참여 권유 (빅데이터 생태계의 발전 속도에 뒤쳐지지 말자!)
- 흐름은 똑같다! 다만, 무엇이 더 효율적이냐의 싸움
III. Dive in
(1) R 계산기
- 실행방법은 Windows: Ctrl + Enter / Mac: Command + Enter
- 사칙 연산을 수행해본다.
1 / 200 * 30
## [1] 0.15
- 다르게 해보자.
(59 + 73 + 2) / 3
## [1] 44.66667
- 이번에는
sin()
함수를 사용해본다.
sin(pi / 2)
## [1] 1
(2) 변수 저장
- 변수 저장 시, R은
<-
사용하는 것을 권장합니다. (단축키: Alt + - (the minus sign)) - 특별한 이유는 없습니다. 타 언어와의 차이점이라고 이해해도 좋습니다.
- 객체이름 <- 값
- 예)
x <- 3 * 4
- 변수가 저장된 것을 확인할 수 있다.
- 저장된 변수를 호출한다.
x
## [1] 12
- 이번에는
print()
활용한다.
print(x)
## [1] 12
Tip: 필자는 가급적 print(x) 사용하는 것을 권한다.
(3) 어떻게 변수 이름을 지을까?
- 변수이름 저장 방법에는 여러가지가 있습니다. (프로그래밍 기초)
- i_use_snake_case
- otherPeopleUseCamelCase
- 강사는 주로
snake_case
방식을 선호한다. - 다만, 무의미한 변수명은 만들지 않는다.
- 예를 들면,
a
,b
,df
등
- 예를 들면,
(4) 주요 변수 타입의 특징
R
에서 변수는 크게 3가지로 구성이 된다.- 물론 더 많기는 하다.
- 예시 코드를 확인해보자.
class()
함수는 변수의 유형을 확인하는데 사용된다.
- 먼저 숫자형 변수 저장 및
class()
를 통해 확인해본다.
my_numeric <- 24
class(my_numeric)
## [1] "numeric"
- 이번에는 문자형 변수를 저장한다.
my_character <- "universe"
class(my_character)
## [1] "character"
- 이번에는 논리형 변수를 만들어본다.
my_logical <- FALSE
class(my_logical)
## [1] "logical"
IV. Vector
-
R의 자료형은 크게 아래 그림과 같이 구성된다.
-
위 그림에서 보면 알 수 있듯이 벡터는 동질성의 특징을 가지고 있다.
-
벡터를 생성할 때는
c()
함수를 사용한다. -
몇가지 예를 들어보자.
- 이 때, 출력의 결과가 각기 어떻게 다른지 확인한다.
(1) 예제
- 먼저 숫자형 벡터를 생성한다.
numeric_vector <- c(1, 2, 3)
class(numeric_vector)
## [1] "numeric"
print(numeric_vector)
## [1] 1 2 3
- 문자형 벡터를 생성한다.
character_vector <- c("A", "B", "C")
class(character_vector)
## [1] "character"
print(character_vector)
## [1] "A" "B" "C"
- 논리형 벡터를 생성한다.
logical_vector <- c(TRUE, FALSE, TRUE)
class(logical_vector)
## [1] "logical"
print(logical_vector)
## [1] TRUE FALSE TRUE
factor()
를 활용하여범주형 벡터
를 만들 수 있다. 그러나, 이 부분은 데이터의 자료형과 같이 얘기가 되어야 하기 때문에 추후 재 논의 한다.
V. Review
- R과 RStudio을 설치해 보았다.
- 기초 문법인 백터에 대해 배웠다.
- if, for-loop는 추후에 익히도록 한다.
- 다음 시간에는 데이터프레임에 대해 배우도록 한다.