본문 바로가기
R

R 데이터 생성방법(Factor, DataFrame) / Data in R #5

by 이징이 2023. 12. 21.

R에서 주로 사용하는 데이터의 종류는 4가지가 있습니다. R에서 데이터를 생성하는 방법과 각각의 속성은 무엇인지 알아보겠습니다.

 

1. vector

2. factor

3. data.frame

4. list

 

1. vector 

vector는 데이터 분석의 가장 기본 단위이며, 하나의 열로 구성된 1차원구조이다.

집단=그룹=범주로 되어 있지 않다.

 

1.1  R에서 vector 만드는 방법

1)  c() : concatenate

  • c (값, 값, 값, 값,......)
  • 값들이 규칙이 없을 때
  • numeric, character, logical vector를 만듦
  • ex) income <- c(250, 50, 100, 40)

2)   :  (콜론)

  • start : end
  • start < end : 1씩 증가
  • start > end : 1씩 감소
  • start = end : start = end
  • numeric vector만 만듦
  • 1씩 증가되거나 1씩 감소되는 경우에 사용
  • ex) id <- 1 : 10
  • id == 1 2 3 4 5 6 7 8 9 10

3)  seq(from = , to = , by = ) : sequence

  • numeric vector만 만듦
  • 모든 증감을 표현할 수 있음
  • from : start
  • to     : end
  • by    : 증가의 폭, 감소의 폭 (-)
  • ex) seq(from = 1 , to = 10, by =0.5)
  • 1.0  1.5  2.0  2.5  3.0  3.5  4.0  4.5  5.0  5.5....

 

1.2  vector의 위치(index)와 슬라이싱(slicing)

# vector 안에 있는 값들의 위치는 첫 번째 값부터 1로 센다

  • 첫 번째 있는 값의 위치 : 1
  • 두 번째 있는 값의 위치 : 2

# vector의 슬라이싱

  • vector [index]
  • ex) age <- c(10, 5, 20, 80, 40, 50)
  • age[1] == 10
  • age[6] == 50

# 2개 이상의 값을 슬라이싱 하는 경우

  • 1,2,6 번째를 슬라이싱 하는 경우 : age[c(1, 2, 6)]
  • 2,3,4,5 번째를 슬라이싱 하는 경우 : age[2 : 5]
  • 1,3,5 번째를 슬라이싱 하는 경우 : age[seq(from = 1, to = 6, by = 2)]

 

1.3  vector의 연산

R의 강점 중의 하나가 바로 vector의 연산이 편리하고 빠르다는 것이다. 하나의 수치형 벡터에 있는 값들을 사칙연산을 통해 새로운 값을 가지는 벡터를 생성할 수 있고, 벡터와 벡터 간에 사칙연산을 할 수 있다.

# vector의 길이가 동일한 경우 : Vectorization

 

  • v1  <- c(10, 20, 30)
  • v2  <- c(40, 50, 60)
  • v3  <- v1 + v2
  • v3 == 50 70 90

# vector의 길이가 동일하지 않은 경우 : Recycling Rule(재사용 규칙)

   두 객체의 길이가 서로 배수관계에 있어야 한다!

  • v1  <- c(10, 20, 30)
  • v2  <- c(10, 20, 30, 40, 50, 60)
  • v3  <- v1 + v2
  • v3 == 20 40 60 50 70 90

 

2. Factor

Factor도 vector와 마찬가지로, 데이터 분석의 가장 기본 단위이며, 하나의 열로 구성된 1차원구조이다. vector와 달리, 집단=그룹=범주로 되어 있다.

 

2.1  R에서 Factor 만드는 방법

  • factor(vector, labels = , levels = , ordered = )
  • 기본 factor의 생성 : factor( )
  • labels = 집단의 이름을 변경할 때 : factor(vector, labels = )
  • levels = 집단의 순서를 변경할 때 : factor(vector, labels = , levels = )
  • ordered = 집단의 순서를 의미 있게 만들 때 : factor(vector, labels = , levels = , ordered = )
  • ex) bt_factor <- factor(bt, levels = c("a", "b", "ab", "o"), labels = c("A형", "B형", "AB형", "O형"), ordered = TRUE)

Factor 생성

 

3. DataFrame

DataFrame은 행과 열로 구성되어 있으며, 2차원 구조를 의미한다.

R에서 데이터라고 하면 특별하지 않으면 DataFrame이다.

 

3.1  R에서 DataFrame 만드는 방법

  • data.frame(vector or factor)

DataFrame 생성
DataFrame 출력

4. List

List는 데이터 분석의 결과를 저장할 때 사용된다. 

 

4.1  R에서 List 만드는 방법

  • list(vector, factor, data.frame, list)

List 생성

4.2  List 슬라이싱(slicing)

List의 원소를 추출하는 방법은 두 가지가 있다. 대괄호[index] 하나를 쓰는 것과 대괄호 두 개[[index]]를 쓴다.

  • list[index]    : List
  • list[[index]] : 해당 원소의 데이터

'R' 카테고리의 다른 글

R 데이터의 유형 (type of data in R) #R4  (1) 2023.12.07
R 연산자 (R Operators) #R3  (0) 2023.12.06
맥북 R / R studio 다운로드 방법 #R1  (0) 2023.11.29