@@@ 데이터분석/데이터 분석의 모든 것

Chapter 2. R 프로그래밍 - 2.2 변수와 데이터 타입

HTG 2021. 9. 12. 05:13
728x90

키워드 : 변수, 변수이름, 숫자타입, 문자타입, 논리타입, 펙터타입

더보기

변수 : 데이터를 저장할 수 있는 공간을 가지고 있으면서 변수 이름으로 그 공간에 데이터를 저장하거나 수정하거나 불러올 수 있는 것을 말함.

변수 이름 : 지켜야 하는 최소한의 규칙이 있으며 그 규칙을 따르면서 프로그래머가 기억하기 좋고 의미있는 이름으로 작성.

R 의 데이터 타입 : 숫자타입, 문자타입, 논리타입, 펙터타입 등 

펙터타입 : 범주형 데이터를 저장하기 위한 타입.

 

2.2.1 변수

프로그래밍 언어에서 데이터를 저장할 수 있는 공간을 가지고 있으면서 변수 이름으로 그 공간에 데이터를 저장하거나 수정하거나 불러올 수 있는 것.

통계학에서의 변수는 행과 열로 이루어진 데이터셋에서 열을 변수라고 하며 의미가 다름.

 

2.2.1.1 변수에 데이터를 저장하고, 불러오기

# <- 와 = 둘다 가능하나 보통은 <- 을 사용
age1 <- 20
age2 = 20

 

2.2.2 데이터 타입

통계학에서 사용하는 용어. 하나의 특정 주장을 모수를 이용해 나타낸 형태를 지칭.

 

2.2.2.1 숫자(Numeric)타입

정수와 실수를 저장할 때 사용하는 타입.

기본적으로 숫자는 숫자타입으로 저장되는데 숫자 뒤에 L을 붙이면 정수(integer) 타입으로 저장된다.

age <- 20
class(age)
[1] "numeric"

age <- 10L
class(age)
[1] "integer"

 

2.2.2.2 문자(Character)타입

문자를 저장할 때 사용하는 타입.

문자 데이터를 표현하는 방법은 큰따옴표 " " 또는 작은따옴표 ' '로 데이터를 감싸면 됨.

숫자도 " " 또는 ' '로 감싸면 문자 데이터로 처리.

name <- "LJI"
class(name)
[1] "character"

no <- "10"
class(no)
[1] "character"

 

2.2.2.3 논리(Logical)타입

컴퓨터 프로그래밍에서 참(TRUE), 거짓(FALSE)은 중요한 의미를 가지며 참과 거짓을 저장하기 위한 별도의 데이터 타입을 가짐. TRUE와 FALSE 또는 T와 F로 논리타입 데이터를 표현. 이때 모두 대문자로 써야하며 " " 또는 ' '로 감싸면 문자 데이터로 취급되니 주의.

is_effective <- TRUE # is_effective <- T 와 동일
is_effective
[1] TRUE
class(is_effective)
[1] "logical"

 

2.2.2.4 펙터(factor)타입 

범주형(Categorial) 데이터를 저장하기 위한 데이터 타입.

범주형 데이터는 명목형 데이터와 순서형 데이터가 있음.

명목형 데이터는 크고 작음을 비교할 수 없는 범주 데이터. (예, 지역명, 지역번호 등)

순서형 데이터는 크고 작음이 비교가 가능한 범주 데이터. (예, 옷 사이즈 등)

factor()로 펙터 타입의 데이터를 저장.

# ("서울", "부산", "제주")의 전체 범주 중 "서울" 저장.
sido <- factor("서울", c("서울", "부산", "제주"))

sido
[1] 서울
Levels: 서울 부산 제주

class(sido)
[1] "factor"

 

levels()로 전체 범주를 확인.

levels(sido)
[1] "서울" "부산" "제주"

 

factor()는 기본적으로 명목형 데이터를 생성.

순서형으로 만들려면 ordered = TRUE 옵션을 사용하거나 factor() 대신에 ordered()를 사용.

# ("XS", "S", "M", "L", "XL")의 전체 범주 중 "L" 저장.
# 순서형 범주 데이터를 위해 ordered = TRUE 옵션 사용.
size <- factor("L", c("XS", "S", "M", "L", "XL"))

# 순서형 범주 데이터를 위해 ordered() 함수 사용.
size <- ordered("L", c("XS", "S", "M", "L", "XL"))

size
[1] L
Levels: XS < S < M < L <XL

 

R은 하나 이상의 데이터를 저장할 수 있는 구조인 벡터가 기본적으로 생성.

벡터 외에도 여러 데이터를 담을 수 있는 저장 구조가 있으며 그 특징에 따라 벡터, 매트릭스, 데이터프레임, 배열, 리스트 등으로 구분.

 

벡터는 R의 기본 데이터 구조이며 변수에 하나의 값만 저장해도 벡터 구조로 생성.

이것은 일반적인 다른 프로그래밍 언어에는 없는 R의 특징.

데이터 분석을 주된 목정으로 하는 언어이기 때문에.

 

하나의 변수에 2개의 데이터를 저장하는 예. 변수를 생성할 때 벡터 구조로 만들어짐.

# a 변수에 10 저장
# 디폴트로 여러 데이터를 저장할 수 있는 벡터 구조로 생성.
a <- 10

# 디폴트로 벡터 구조이므로 a 변수의 두 번째 저장소에 접근 가능.
# 20을 a 벡터의 두 번째 위치에 저장
a[2] <- 20

# a 벡터의 첫 번째 위치에 10, 두 번째 위치에 20이 있음.
a
[1] 10 20