상세 컨텐츠

본문 제목

[개미의 걸음 ADsP 3과목] R기초③ R 데이터 유형 및 변환 with (mode, is, as 함수)

자격증/ADsP

by IT개미 데이터 2020. 7. 21. 17:17

본문

728x90

R의 데이터 유형

R에는 데이터의 기본적인 속성으로 데이터가 어떤값(숫자*문자)으로 이루어져 있는지 나타내는 데이터 유형이 존재한다.

  • 데이터 유형은 기본적인 형태와 특수한 형태로 구성

기본적인 데이터 유형 4가지

문자형[Character] 하나의 문자 또는 문자열로 되어 있으며 ' ' 또는 " "로 묶여 있다.
복소수형[Complex] 실수와 허수로 이루어진 복소수
수치형[Nomeric] 숫자로 되어 있으며, 정수형[Integer]과 실수형[Double]이 있음ㅁ
논리형[Logical] 참과 거짓의 논리값으로 TRUE나 FALSE를 가짐
※ 복소수형은 수학 분야를 다룰 때 주로 사용하므로 일반적으로 잘 사용하지 않는다.
※ 기본적인 데이터 유형은 우선 순위가 존재 [문자형, 복소수형, 수치형, 논리형 순]

특수한 형태의 데이터 유형

Null 존재하지 않는 객체로 지정할 때 사용
NA Not Available의 약자로 결측치[Missing Value]를 의미
NaN Not available Number의 약자로 수학적으로 계산이 불가능한 수를 의미
    ex> sqrt(-5)  : 음수에 대한 제곱근을 구할 수 없으므로 NaN로 표시됨
Inf Infinite의 약자로 양의 무한대를 의미
음의 무한대는 "-Inf"로 표기

날짜형 데이터

Sys.Date( ) 오늘 날짜 표시
Sys.time( ) 오늘 날짜&시간 표시
date( ) 오늘 요일&날짜&시간 표시

  • 문자형 날짜를 날짜형 데이터로 변경할 때는 as.Date( ), strptime( ) 사용
  • "YYYY-mm-dd"가 날짜형 데이터의 기본형식
  • 표준서식이 아닌 문자형의 경우 뒤에서 format을 정해줘야 함
  • "format = "은 생략해도 무방
  • format( )을 사용하면 원하는 형식으로 출력가능

  • %Y : 4자리 연도
    %y : 2자리 연도
  • %m : 월
    %b : 월
  • %d : 일
  • %a : 요일

 

데이터의 유형을 알려주는 명령어

① mode()함수

데이터가 가지고 있는 유형을 문자형 형태로 알려주는 함수

문자형 데이터인 경우 "Character" 출력
복소수형 데이터인 경우 "Complex" 출력
수치형 데이터인 경우 "Numeric" 출력
논리형 데이터인 경우 " Logical" 출력
※ 기본적인 데이터 유형은 우선 순위가 존재 [문자형, 복소수형, 수치형, 논리형 순]

ex1> x <- c(7777, "lucky")

      mode(x)

   결과 : character

          → "lucky"가 문자형 데이터이므로 x를 문자형 데이터로 인식

ex2> x <- c(7777, FALSE)

      mode(x)

   결과 : numeric

          → 문자형 데이터가 없으므로 x를 숫자형 데이터로 인식

 

② is. 함수

지정한 데이터 유형인지 아닌지를 알려주는 함수

함수명 설명 결과내용
is.character() 문자형 여부 TRUE
or
FALSE
is.complex() 복소수형 여부
is.numeric() 수치형 여부
is.integer() 정수형 여부
is.double() 실수형 여부
is.logical() 논리형 여부
is.null() Null 여부
is.na() NA 여부
is.finite() 유한수치 여부
is.infinite() 무한수치 여부

ex> 다음 중 나머지 세 개의 명령과 결과가 다른 것은?

더보기

 

① x = c(1:4, NA)

     is.na(x)

   결과 : FALSE FALSE FALSE FALSE TRUE

② x <- c(1:4, NA)

     is.na(x)

   결과 : FALSE FALSE FALSE FALSE TRUE

③ x = c(1:4, NA)

     x==NA

   결과 : NA NA NA NA NA

       → 모든 연산에서 NA가 포함된 경우 결과도 항상 NA가 나옴!!

④ c(6,5,4,3,2) == 2

   결과 : FALSE FALSE FALSE FALSE TRUE

 

 

데이터 유형의 변경

① as. 함수

연산자 설명 결과내용
as.character 문자형으로 변환 변환되거나
NA
as.complex() 복소수형으로 변환
as.numeric() 수치형으로 변환
as.integer() 정수형으로 변환
as.double() 실수형으로 변환
as.logical() 논리형으로 변환
as.date() 날짜형으로 변환
 format옵션을 통해 형식지정 가능
※ as. 함수 사용시 우선순위가 낮은 유형에서 높은 유형으로 강제적으로 변경 가능
   단, 우선순위가 높은 유형에서 우선순위가 낮은 유형으로의 변환은 일부만 가능

  • "YYYY-mm-dd"가 날짜형 데이터의 기본형식
  • 표준서식이 아닌 문자형의 경우 뒤에서 format을 정해줘야 함
  • "format = "은 생략해도 무방

 

 

728x90

관련글 더보기

댓글 영역