작성일자 : 2023-09-28
Ver 0.1.1
자료형(mode)
자료형은 기본원소의 형태를 말한다. R 객체는 기본원소들의 모임으로 정의된다.
- numeric : 수치형. 정수형(integer)과 실수형(double)을 포함
- logical : 논리형. TRUE 또는 FALSE 값을 가진다
- character : 문자형. 문자열을 다룰때 이용된다.
- complex : 복소수형. 통계학에서는 거의 다루지 않는다.
벡터의 자료형
3 + 4
[1] 7
mode( 3 + 4 )
[1] "numeric"
pi
[1] 3.141593
mode( pi )
[1] "numeric"
3 < 4
[1] TRUE
mode( 3 < 4 )
[1] "logical"
mode( T ) # T and TRUE are the same
[1] "logical"
mode( FALSE ) # F and FALSE are the same
[1] "logical"
mode( True )
Error in mode(True): object 'True' not found
mode( f )
Error in mode(f): object 'f' not found
'Hi'
[1] "Hi"
"Hi"
[1] "Hi"
mode( "Hi" )
[1] "character"
1 + 4i
[1] 1+4i
mode( 1 + 4i )
[1] "complex"
"I am Seokho Lee" == "I am Seokho Lee"
[1] FALSE
T == TRUE
[1] TRUE
3 == 3.0
[1] TRUE
특수한 상수
NULL
NULL
c( 1 , 2 , NA )
[1] 1 2 NA
log( -5 )
Warning in log(-5): NaNs produced
[1] NaN
1 / 0
[1] Inf
log( 0 )
[1] -Inf
- NULL : 비어 있음을 의미. 따라서 크기는 0으로 정의됨
- NA : Not available. 결측값(missing value)을 표기하는데 이용
- NaN : Not a number.
- Inf, -Inf : 양, 음의 무한대를 의미
5 + NULL
numeric(0)
paste0('sample', NULL)
[1] "sample"
5 + NA
[1] NA
5 + NaN
[1] NaN
5 + Inf
[1] Inf
5 + -Inf
[1] -Inf
형변환 (coercion)
한 연산에 다른 자료형을 가진 객체들이 다루어지는 경우, R은 계산을 위하 하나의 자료형으로 통일시키게 된다. 이를 형변환이라고 부른다.
형변환의 우선순위는 아래와 같다.
logical < numeric < complex < character
예를 들어, (numeric) + (logical) 의 연산의 경우, (logical) 을 (numeric) 으로 바꾸어 계산하여, 최종 결과는 (numeric) 이 된다.
3 + TRUE
[1] 4
( 3 + 4i ) + 4
[1] 7+4i
c( '34' , 4 )
[1] "34" "4"
c( '34' , 3 + 4i )
[1] "34" "3+4i"
- T(TRUE)는 1, F(FALSE)는 0으로 형변환 된다.
T + T
[1] 2
T * F
[1] 0
5i
[1] 0+5i
2 + 3i * 3 + 5i
[1] 2+14i
(2+3i) * (3+5i)
[1] -9+19i
as.numeric( '3.141592' )
[1] 3.141592
as.double( '3.141592' )
[1] 3.141592
as.integer( pi )
[1] 3
as.logical( 1 )
[1] TRUE
as.logical( -4 )
[1] TRUE
as.complex( 4 )
[1] 4+0i
as.character( pi )
[1] "3.14159265358979"
as.null( 1 )
NULL
자료형 확인
is.numeric( pi )
[1] TRUE
is.double( pi )
[1] TRUE
is.integer( pi )
[1] FALSE
is.logical( T )
[1] TRUE
is.complex( 4i )
[1] TRUE
is.character( 'abc' )
[1] TRUE
is.na( NA )
[1] TRUE
is.null( 25 )
[1] FALSE
is.nan( log( -5 ) )
Warning in log(-5): NaNs produced
[1] TRUE
is.finite( 25 )
[1] TRUE
is.infinite( 1 / 0 )
[1] TRUE
자료 객체
R 은 다양한 종료의 자료를 다루기 위해 vector, matrix, data frame, array, list, factor (범주형자료), ts (시계열자료) 등의 객체형을 가지고 있다.