정보

    • 업무명     : R을 이용한 통계 분석 및 데이터 시각화 : 분기문

    • 작성자     : 박진만

    • 작성일     : 2020-03-27

    • 설   명      :

    • 수정이력 :

     

     내용

    [개요]

    • R은 통계 분석 및 시각화 등의 기능을 갖춘 프로그래밍 언어 내지 통계 분석 환경입니다. 

    • 통계 분석 기능으로 통계 검정, 선형 회귀 분석, 시계열 데이터 분석, 클러스터링 등을 지원하고 있습니다.

    • 또한 최신 논문에서 발표된 같은 새로운 기술도 R로 구현되는 경우가 많습니다.

    • 특히 시각화 기능으로 히스토그램, 막대 그래프, 선 그래프, 산포도, 나무 모양 그림이나 히트맵 등 기본적인 그래프가 기본으로 지원하고 있습니다.

    • 또한 ggplot2 등의 패키지를 사용하여 더 높은 수준의 그림을 가시화할 수 있습니다.

     

     

    [특징]

    • 데이터를 이해하기 위해서 통계 분석 및 데이터 시각화가 요구되며 이 프로그램은 이러한 목적을 달성하기 위한 소프트웨어

       

    [기능]

    • 데이터형 소개

     

    [활용 자료]

    • 없음

     

    [자료 처리 방안 및 활용 분석 기법]

    • 없음

     

    [사용법]

    • 소스 코드 예시 참조

     

    [사용 OS]

    • Windows 10

     

    [사용 언어]

    • R v3.6.2

    • R Studio v1.2.5033

     

     소스 코드

    • R 에서 조건을 판단하여 분기를 처리 할 문장으로 if 또는 switch가 존재한다. 

    • switch문에 의한 의사 결정은 문자열 비교에 의해 이루어지며, 계산식 등은 이용할 수 없다. 

    • 한편, if문장에서 계산식을 사용할 수 있다.

     

    [if 조건문]

    • if 문은 "만일 ~하면 ...을" 같은 처리를 할 때 사용한다.

    • 예를 들어, i와 j가 같으면 "i eq. j"고 출력하는 스크립트는 아래와 같다.

    i <- 10
    j <- 10
    
    if (i == j) {
    	print("i eq. j !")
    }

     

    • if문장에 대해 "만약 ~라면 "작업1" 을, 그렇지 않으면 '작업2' 를" 같은 처리는 if문장과 else 문장으로 수행한다.

    • 예를 들어

       i그리고 j이 같다면 x에 1을 대입하고 그렇지 않으면 x에 2를 대입하는 예는 아래와 같다.

    i <- 10
    j <- 10
    
    if (i == j) {
      x <- 1
    } else {
      x <- 2
    }
    
    x
    ## [1] 1

     

    • 이외에 여러 조건이 존재할 때 if else를 중첩함으로써 처리를 할 수 있다.

    i <- 2
    
    if (i == 1) {          # i가 1이라면 x 에 "A" 를 대입
      x <- "A"
    } else if (i == 2) {   # i 가 2라면 x에 "C" 를 대입
      x <- "C"
    } else if (i == 3) {   # i 가 3 이라면 x에 "G" 를 대입
      x <- "G"
    } else {               # 위의 조건 중 어느것도 아니면 x 에 "T" 를 대입
      x <- "T"
    }
    
    x
    ## [1] "C"

     

    [switch 분기문]

    • switch 문장을 사용하는 경우는 조건 판단은 문자열 비교에 의해 이루어진다.

    • 예를 들어

    • op에1을 대입하면 x+ y를 계산하고

    • 2를 대입하면 x- y를 계산하고

    • 3을 대입하면 x× y를 계산하고

    • 4를 대입하면 x÷ y계산을 수행하는 스크립트는 아래와 같이 작성한다.

    • 마지막 stop은 op이 1,2,3,4의 어떤 것도 아닌 경우 오류를 발생하게 하고있다.

    op <- "1"
    x <- 10
    y <- 20
    
    ans <- switch(op,
      "1" = x + y,
      "2" = x - y,
      "3" = x * y,
      "4" = x / y,
      stop("Only can use 1, 2, 3, and 4")
    )

     

    [ifelse 함수와 which 함수]

    • 다른 프로그래밍 언어는 삼항 연산자라는 것이 있다. (예 x = a?, TRUE, FALSE) 

    • R에는 이와 유사한 기능을하는 구문 ( ifelse과 which)가 준비되어 있다.

    • 예를 들어, 벡터 x에 대한 각 요소가 홀수이면 "o"를, 짝수이면 "e"를 반환하는 스크립트는 다음과 같이 쓸 수 있다.

    x <- c(1, 2, 3, 4, 5, 6)
    
    y <- ifelse(x %% 2 == 1, "o", "e")
    y
    ## [1] "o" "e" "o" "e" "o" "e"

     

    [다음글]

     

    [R] R을 이용한 통계 분석 및 데이터 시각화 : 반복문

    정보 업무명 : R을 이용한 통계 분석 및 데이터 시각화 : 벡터 작성자 : 박진만 작성일 : 2020-03-27 설 명 : 수정이력 : 내용 [개요] R은 통계 분석 및 시각화 등의 기능을 갖춘 프로그래밍 언어 내지 통계 분석..

    shlee1990.tistory.com

     

    [이전글]

     

    [R] R을 이용한 통계 분석 및 데이터 시각화 : 함수

    정보 업무명 : R을 이용한 통계 분석 및 데이터 시각화 : 함수 작성자 : 박진만 작성일 : 2020-03-27 설 명 : 수정이력 : 내용 [개요] R은 통계 분석 및 시각화 등의 기능을 갖춘 프로그래밍 언어 내지 통계 분석..

    shlee1990.tistory.com

     

     참고 문헌

    [논문]

    • 없음

    [보고서]

    • 없음

    [URL]

    • 없음

     

     문의사항

    [기상학/프로그래밍 언어]

    • sangho.lee.1990@gmail.com

    [해양학/천문학/빅데이터]

    • saimang0804@gmail.com

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    본 블로그는 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기