기본 데이터 타입 (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
숫자 데이터 - 실수와 정수
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
논리 데이터 - TRUE == 1, FALSE == 0
TRUE * 3
#> [1] 3
FALSE * 3
#> [1] 0
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