4. 자료형(Data Type)


r

Overview

R에서 자료형의 사용법에 대해 알아본다.


자료형(Data Type)

R은 변수 선언 시 별도의 자료형(Type)을 선언하지 않는다.

즉, 자료의 유형에 의해 변수의 타입이 결정된다.

R에서 기본적으로 제공하는 자료형은 다음과 같다.

유형(Type)값(Value)예(Sample)
숫자형(Numeric)정수, 실수100, 12.345
문자형(Character)문자, 문자열‘김’, ‘홍길동’
논리형(Logical)true, falseTRUE, T, FALSE, F
결측 데이터결측치, 비슷자NA, NaN(Not A Number)

NA, NULL

NA의 뜻은 Not Available이다.

값이 있어도 정해진 범위 안에 존재하는 값이 아니여서 사용할 수 없는 경우를 의미한다.

임의의 의미 있는 값과 연산을 하게 되면 그 최종 결과는 NA이다.

NA 값인지를 판별하려면 is.na(var_name) 함수를 사용하면 된다.

NA는 연산 대상에 포함되기 때문에 NA + 100 = NA이다.

NA 처리시 na.rm = T 옵션을 사용하면 NA를 연산 대상에서 제외할 수 있다.

NULL값이 정해지지 않아 얼마인지 모른다는 의미이다.

NA와 비교하면 NULL은 연산 대상에서 제외되어 NULL + 100 = 100이다.


자료형 확인 함수

변수에 저장되어 있는 자료의 유형을 확인 하는 함수들은 다음과 같다.

결과값에 따라 TRUEFALSE를 리턴한다.

함수기능함수기능
is.numeric(x)수치형 여부is.integer(x)정수형 여부
is.logical(x)논리형 여부is.double(x)실수형 여부
is.character(x)문자형 여부is.complex(x)복소수형 여부
is.data.frame(x)데이터프레임 여부is.factor(x)factor형 여부
is.na(x)NA 여부is.nan(x)NaN 여부

자료형 변환 함수

변수에 저장되어 있는 자료의 유형을 다른 유형으로 변경할 수 있다.

함수기능함수기능
as.numeric(x)수치형으로 변환as.integer(x)정수형으로 변환
as.array(x)다차원 배열로 변환as.Date(x)날짜형으로 변환
as.logical(x)논리형으로 변환as.double(x)실수형으로 변환
as.character(x)문자형으로 변환as.complex(x)복소수형으로 변환
as.data.frame(x)데이터프레임으로 변환as.factor(x)factor형으로 변환
as.list(x)리스트형으로 변환as.vector(x)벡터형으로 변환

자료형과 자료 구조 조회

자료형은 변수에 저장된 자료의 성격(숫자, 문자, 논리 등)을 의미한다.

자료 구조는 변수에 저장된 자료의 메모리 구조(배열, 리스트, 테이블 등)를 의미한다.

modeclass

  • mode() : 변수에 저장된 자료의 성격(numeric, character, boolean 등)
  • class() : 변수에 저장된 자료의 메모리 구조(array, list, table 등)

Factor 함수

Factor는 범주형 데이터 자료를 표현하기 위한 데이터 타입이다.

범주형 데이터는 데이터가 사전에 정해져 있는 특정한 유형으로만 분류 되어 있는 경우를 말한다.

Factor의 사용법

항목설명
사용형식factor(x, levels, ordered)
xfactor로 표현하고자 하는 값(주로 문자열 벡터
levels값의 level(가질 수 있는 카테고리의 unique한 값의 list
orderedTRUE면 정의된 순서대로 보여줌(순서형)
FALSE면 명목형 데이터(기본값, 알파벳/가나다 순)
기본 값을 매개 변수 x의 내용을 정렬한 결과를 사용
labelslevels에 해당하는 새로운 라벨을 작성

날짜와 시간

R에서 날짜형의 칼럼은 요인형 또는 문자형으로 인식되기 때문에 정확한 날짜형으로 변환할 필요가 있다.

데이터 분석시 특정 시간을 지정하거나, 특정 기간을 지정해서 분석을 수행하는 경우가 많다.

시스템의 locale 정보 확인

현재 시스템에서 설정된 locale 정보를 확인하여 국가정보출처, 언어유형, 통화단위, 숫자, 날짜/시간 정보를 확인 한다.

로케일 정보는 sessionInfo()함수에 의해서도 확인할 수 있다.

> Sys.getlocale(category = "LC_ALL") # 현재 로케일 정보 전체 보기
[1] "ko_KR.UTF-8/ko_KR.UTF-8/ko_KR.UTF-8/C/ko_KR.UTF-8/ko_KR.UTF-8"

> Sys.getlocale(category = "LC_COLLATE") # 지역정보 출처만 보기
[1] "ko_KR.UTF-8"

현재 날짜와 시간 확인

현재 시스템의 날짜와 시간 정보를 제공한다.

KST 는 대한민국 표준시간대를 의미한다.

> Sys.Date() # yyyy-mm-dd
[1] "2019-10-07"

> Sys.time() # 로케일 정보에 의한 현재 날짜와 시간
[1] "2019-10-07 11:38:45 KST"

날짜와 시간에 대한 제어 문자

문자형 날짜를 대상으로 strptime() 함수를 사용하면 날짜 형식으로 변환이 가능하다.

일반적으로 날짜와 시간과 관련된 제어 문자에는 다음과 같은 항목들이 존재한다.

날짜제어문자날짜제어문자
년도 4자리%Y24시간%H
년도 2자리%y12시간%I
%m%M
%d%S
영어 약자%b월 전체 이름%B





© 2019. by RaP0d

Powered by aiden