티스토리 뷰

R/R 기초

[R기초] 데이터프레임 (data.frame)

훈데이텀 2018. 5. 8. 21:00

Data.frame(데이터 프레임)

데이터 프레임 형식은 스프레드시트와 같은 형태로 보여지기 때문에 데이터 분석시 자주 사용된다.

또한 분석시 여러가지 장점이 있으며, 아래와 같은 특징이 있다.

(1) 행과 열로 구성되어 있고, 2차원 구조이다.

(2) 여러 개의 데이터 유형을 가질 수 있다.

(3) 하나의 열은 하나의 데이터 유형만 갖는다.

(4) 다른 열은 다른 데이터 유형을 가질 수 있다.




1. to make data.frame (데이터 프레임 생성)

기본적으로 데이터 프레임은 벡터의 조합으로 생성할 수 있다. 

응용방법을 통해 다양하게 생성 할 수 있지만 여기서는 기본적인 방법만 소개한다. 

# 벡터열로 데이터 프레임 조합 (vector1, vector2, matrix1,....)

   - 여기서 matrix는 벡터의 확장이므로 사용 가능하다.


> DF <- data.frame(vector1, vector2, matrix1, ....)

> colname(DF) <- c(col1, col2, ....)  #열이름 부여


# 열이름을 부여할 수 있다. (co1, co2은 열 이름)

> data.frame(col1 = vector1, col2 = vector2, ....


# 행렬과 마찬가지로 rbind, cbind 함수로 데이터를 추가할 수 있다.




1. slicing (데이터 프레임 추출)

기본적으로 데이터프레임 형식은 대괄호[]를 사용하여 데이터를 조회, 추출할 수 있다. 여기서 주의할 점이 있다.

  1. 하나의 열을 추출할 땐 결과물은 벡터형태 이다. 

  2. 두가지 이상의 열을 추출할 땐 결과물은 테이터 프레임형태 이다.


뒤에서 소개할 subset()함수를 사용하면 열의 갯수와 상관없이 결과물은 항상 데이터 프레임 형태이다

 

   1.1 인덱스로 데이터 프레임 추출

# 데이터 프레임 생성

> DF <- data.frame(vector1, vector2, matrix1, ....)


> DF[ , 1] # vector1을 추출

> DF[ , 2] # vector2을 추출

> DF[ , 3] # matrix[,1]을 추출

> DF[ , 4] # matrix[,2]을 추출


> DF[ , c(1,3)] # vector1, matrix[,1]을 동시에 추출(data.frame 형태로 추출된다.)



   1.2 이름으로 데이터 프레임의 열 추출

> DF <- data.frame(col1 = vector1, col2 = vector2, ....)


> DF[, "co1"]                 # 해당열을 추출하고 싶을 땐 ""을 붙여줘야 한다. 

> DF[, c("co1", "col2")]



2. edit(데이터 프레임 편집)

데이터 추출, 조회와 마찬가지로 여러가지 방법으로 데이터를 편집할 수 있는데 주의할 점은 결과물이 어떻게 나오는지 염두해둬야 한다.

   2.1 열 제외하기(subset함수 활용)

> DF[-1]       # 결과물은 데이터 프레임

> DF[ ,-1]      # 결과물은 벡터

> subset(DF, select = -col1)   #  subset 함수를  사용하여 열을 선택할 땐 ""을 생략하자. 


   2.2 데이터 합치기(merge함수 활용)

       - 공통된 열을 바탕으로 하나의 새로운 데이터 프레임을 병합한다.

> merge(DF1, DF2, by = "colname")





이번 포스팅에서 data.frame에 기본적인 생성방법과 조회, 추출, 편집에 대하여 작성하였습니다.

데이터 프레임 구조는 데이터 분석시 자주사용되기 때문에 여러가지 함수사용과 패키지를 사용하여 더욱 편리하게 분석을 도와줍니다. 다음 포스팅에서는 data.frame에서 사용되는 여러가지 함수와  형태에 대해서 알아보겠습니다.


'R > R 기초' 카테고리의 다른 글

[R기초] 행렬(Matrix)  (0) 2018.05.08
[R기초] 배열(Array)  (0) 2018.03.22
[R기초] 팩터(Factor) - 집단  (0) 2018.03.22
[R기초] 벡터(Vector) - (2) 벡터 속성  (0) 2018.03.22
[R기초] 벡터(Vector) - (1) 벡터 생성  (0) 2018.03.22
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함