본문 바로가기
R/Data Type

R 스칼라 Scalar - 자료형/내장형상수

by 통계열등생 2020. 7. 28.
반응형

스칼라(scalar)란 단일 차원(0차원)의 값을 갖는 데이터 구조이다.

R에서의 기본 데이터 구조는 벡터(vector)임으로 스칼라는 다른 의미로 데이터 길이가 1인 벡터이다.

 

R에서 데이터 구조별 차원을 살펴보면

스칼라(scalar)는 0차원(길이가 1인 벡터)

벡터(vector)는 1차원

행렬(matrix)은 2차원

배열(array)은 3 이상의 차원이다.

 

좀 더 이해를 돕기위해 각각 데이터 구조를 점, 선, 사각형, 직육면체에 빗대어 그려보았다.

 

 

 ◎ 스칼라(단일 데이터)의 자료형

타입 설명
Logical 논리형(참, 거짓 : 진릿값) TRUE, T, FALSE, F
Integer 정수 10, 15L
Double 실수 3.14, 1.25e+5
Complex  복소수 3+4i,  3-4i
Character  문자, 문자열 'a', "문자", '스칼라'
Closure  함수 f = function(){return(100)}
NULL 미정의 값 NULL

R에서 클래스는 변수(객체)가 가지는 속성의 하나이다. 따라서 자료형과 클래스는 같은 값을 가지지 않을 수도 있다. 변수의 클래스를 알아보기 위해서는 mode()을 사용하면 된다. 변수나 값의 자료형을 알아보기 위해서는 typeof() 명령을 사용하면 된다. 또한 변수의 자료구조를 알아보려면 class() 명령을 사용하면 된다.

is.xxxx() 명령은 자료형(xxxx)의 일치 여부에 따라 True or False를 반환하는 함수이다.

 

※ 클래스, 자료형, 자료구조 더 알아보기

small22.tistory.com/15

 

R 자료형 자료구조 판별과 변환

 ◎ 자료형과 자료구조 알아보기 - mode(x) : 자료형(클래스) => 숫자형, 문자형, 논리형 ... - typeof(x) : 자료형 => 정수형, 실수형, 문자형, 논리형 ... - class(x) : 자료구조 => Array, List, Table ... >..

small22.tistory.com

 

 

  • Logical
> bool = F
> mode(bool); typeof(bool)
[1] "logical"
[1] "logical"
> is.logical(bool)
[1] TRUE
> print(bool)
[1] FALSE

 

  • Integer / Double
> int = 100L
> float = 125.23
> mode(int); typeof(int)
[1] "numeric"
[1] "integer"
> mode(float); typeof(float)
[1] "numeric"
[1] "double"
> is.numeric(int)
[1] TRUE
> is.integer(int)
[1] TRUE
> is.double(int)
[1] FALSE
> print(int)
[1] 100

R에서는 정수들도 실수(double)자료형으로 선언하기 때문에 integer자료형으로 선언하기 위해서는 숫자의 마지막에 L을 붙여줘야 한다.

 

  • Complex 
> comp = 3+4i
> mode(comp); typeof(comp)
[1] "complex"
[1] "complex"
> is.complex(comp)
[1] TRUE
> print(comp)
[1] 3+4i

 

  • Character 
> string = "대한민국"
> mode(string); typeof(string)
[1] "character"
[1] "character"
> is.character(string)
[1] TRUE
> print(string)
[1] "대한민국"

 

  • Closure
> func = function(){return(100)}
> mode(func); typeof(func)
[1] "function"
[1] "closure"
> print(func())
[1] 100

R에서는 함수도 독자적인 자료형을 가진다. 함수의 자료형은 closure이고, 클래스는 function이다.

 

  • NULL
> null = NULL
> mode(null); typeof(null)
[1] "NULL"
[1] "NULL"
> is.null(null)
[1] TRUE
> print(null)
NULL

 

※ NA와 NULL

NA는 R에서 결측치를 의미한다. 데이터 입력 실수로 값이 빠지거나 관찰되지 않아 값을 입력하지 못한 경우 등 다양한 이유로 결측치가 생긴다.

NULL은 프로그래밍의 편의를 위해 변수값이 아직 미정인 상태를 표현하는 목적으로 주로 사용된다. 어떤 값을 줘야 할지 정하지 못했을 때 일단 변수에 NULL을 할당한 후 나중에 적절한 값을 할당할 수 있다.

 

 

 ◎ 내장형(built-in) 상수

상수 내용
pi 3.141593
Inf infinity
NaN Not a Number
LETTERS "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z"
letters "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n"  "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"
month.abb "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"
month.name "January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December"

 

 

 

 

 

<R 스칼라 Scalar - 자료형/내장형상수>

반응형

댓글