(NCS) R 기초문법

Page content

I. 개요

(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는 추후에 익히도록 한다.
  • 다음 시간에는 데이터프레임에 대해 배우도록 한다.