정보

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

    • 작성자     : 박진만

    • 작성일     : 2020-03-28

    • 설   명      :

    • 수정이력 :

     

     내용

    [개요]

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

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

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

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

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

     

     

    [특징]

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

       

    [기능]

    • 데이터형 소개

     

    [활용 자료]

    • 없음

     

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

    • 없음

     

    [사용법]

    • 소스 코드 예시 참조

     

    [사용 OS]

    • Windows 10

     

    [사용 언어]

    • R v3.6.2

    • R Studio v1.2.5033

     

     소스 코드

    • R은 시계열 데이터를 Date 클래스와 POSIXct 클래스로서 취급 할 수 있다. 

    • 해당 데이터 유형은 기존 날짜와 시간을 문자열로 취급하지 않고, Date 클래스와 POSIXct 클래스로서 취급하게 된다.

    • 따라서 이를 이용하여 특정 시간의 평균을 계산하거나 일수를 더하거나 빼고, 시계열 그림을 그릴 때 유용하게 사용할 수 있다.

     

    [Date 유형] 날짜 데이터 클래스

    • 날짜만으로 이루어진 데이터의 경우는 Date 클래스를 이용한다. 

    • 대상 문자열을 날짜로 변환하려면 as.Date함수를 이용한다.

    x <- c("2018-01-01", "2018-01-02")
    y <- as.Date(x)
    y
    ## [1] "2018-01-01" "2018-01-02"

     

    • as.Date 함수에서 변환 된 Date 클래스의 객체를 출력하면 겉보기에는 문자열처럼 보이지만, 날짜 연산이 가능해지게 된다.

    class(y)
    ## [1] "Date"
    
    y + 1
    ## [1] "2018-01-02" "2018-01-03"
    
    y -1
    ## [1] "2017-12-31" "2018-01-01"

     

    • Date 클래스의 객체는 문자열에서 변환하는 것 외에, seq함수 등을 이용하하는 경우에도 생성 할 수 있다.

    m <- seq(as.Date("2018/01/01"), as.Date("2018/12/31"), "months")
    head(m)
    ## [1] "2018-01-01" "2018-02-01" "2018-03-01" "2018-04-01" "2018-05-01" "2018-06-01"
    
    w <- seq(as.Date("2018/01/01"), as.Date("2018/12/31"), "weeks")
    head(w)
    ## [1] "2018-01-01" "2018-01-08" "2018-01-15" "2018-01-22" "2018-01-29" "2018-02-05"
    
    d <- seq(as.Date("2018/01/01"), as.Date("2018/12/31"), "days")
    head(d)
    ## [1] "2018-01-01" "2018-01-02" "2018-01-03" "2018-01-04" "2018-01-05" "2018-01-06"

     

    [POSIXct 유형] 날짜+시간 데이터 클래스

    • 시간은 POSIXct 또는 POSIXlt 클래스의 객체로 취급한다. 
    • POSIXct는 일정 시간 (ct)을 의미하고 시간을 1970 년 1 월 1 일 00:00:00부터 계산 한 초수로 저장한다. 
    • POSIXlt는 로컬 시간 (lt)을 의미하고, 시간을 시간 단위 (시, 분, 초 등)의 목록으로 취급한다.
    t <- "2018-01-01 00:00:00"
    
    ct <- as.POSIXct(t, format="%Y-%m-%d %H:%M:%S", tz = "./asia/seoul")
    unclass(ct)
    ## [1] 1514732400
    ## attr(,"tzone")
    ## [1] "seoul"
    
    
    lt <- as.POSIXlt(t, format="%Y-%m-%d %H:%M:%S", tz = "./asia/seoul")
    unclass(lt)
    ## $sec
    ## [1] 0
    ## $min
    ## [1] 0
    ## $hour
    ## [1] 0
    ## $mday
    ## [1] 1
    ## $mon
    ## [1] 0
    ## $year
    ## [1] 118
    ## $wday
    ## [1] 1
    ## $yday
    ## [1] 0
    ## $isdst
    ## [1] 0
    ## $zone
    ## [1] "JST"
    ## $gmtoff
    ## [1] NA
    ## attr(,"tzone")
    ## [1] "seoul"

     

    [다음글]

     

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

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

    shlee1990.tistory.com

     

    [이전글]

     

    [R] R을 이용한 통계 분석 및 데이터 시각화 : apply 시리즈

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

    shlee1990.tistory.com

     

     

     참고 문헌

    [논문]

    • 없음

    [보고서]

    • 없음

    [URL]

    • 없음

     

     문의사항

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

    • sangho.lee.1990@gmail.com

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

    • saimang0804@gmail.com

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

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