2.5 기본 데이터 타입 (Basic data types)

기본 데이터 타입으로 숫자(numeric), 문자(character), 논리(logical), 날짜(date), 결측치(missing) 등이 있습니다.

# 숫자 데이터
my_age <- 21

# 문자 데이터 - 문자는 따옴표(" 또는 ')로 둘러쌉니다.
my_name <- "영희"

# 논리 데이터 - TRUE, FALSE
is_student <- TRUE

# 날짜 데이터
my_birthday <- as.Date("2007-08-02")

# 결측치(missing data) - 논리 데이터의 일종
my_missing <- NA

문자는 따옴표로 둘러싸는데, 만일 문자들 중에 따옴표가 있으면 ""을 추가합니다.

my_say <- "나의 이름은 \"영희\"입니다."
my_say
#> [1] "나의 이름은 \"영희\"입니다."

데이터 타입을 확인하는 함수는 class()입니다.

class(my_age)
#> [1] "numeric"
class(my_name)
#> [1] "character"

객체의 데이터 타입이 숫자인지, 문자인지를 확인하는 함수도 있습니다. 맞으면 TRUE를 출력하고 틀리면 FALSE를 출력합니다.

is.numeric(my_age)
#> [1] TRUE
is.character(my_name)
#> [1] TRUE
is.logical(is_student)
#> [1] TRUE
is.na(my_missing)
#> [1] TRUE

만일 숫자가 따옴표로 둘려싸여 있어 문자로 인식될 경우 변환 함수를 이용하여 숫자 형식으로 변경할 수 있습니다.

as.numeric("21")
#> [1] 21

2.5.1 숫자 데이터 - 실수와 정수

100000    # 1e+05 형태로 표시됨 
#> [1] 1e+05
150000000 # 1.5e+08 형태로 표시됨 
#> [1] 1.5e+08
5e+3     #  5000  
#> [1] 5000
5e-3     #  0.005
#> [1] 0.005
# numeric 실수
x <- 21  
is.numeric(x) 
#> [1] TRUE

# 정수  
y <- 5L    
is.integer(y)
#> [1] TRUE
  
typeof(5)   # 부동소수점 실수 double
#> [1] "double"
typeof(5L)  # 정수 integer
#> [1] "integer"
typeof(5i)  # 복소수 complex
#> [1] "complex"

# 정수와 실수가 같이 연산되면 결과값은 실수
4L * 2.8
#> [1] 11.2

2.5.2 논리 데이터 - TRUE == 1, FALSE == 0

TRUE * 3
#> [1] 3
FALSE * 3
#> [1] 0

2.5.3 NULL 객체

객체에 NULL 값을 부여함으로써 객체를 삭제하는 데 사용되기도 합니다.

x <- c(21, NA, 23, NA, 25)
str(x)
#>  num [1:5] 21 NA 23 NA 25

# x에 NULL 부여
x <- NULL
str(x)
#>  NULL