본문 바로가기

R프로그래밍

[R프로그래밍] 데이터 프레임 핸들링

R에서 사용하는 데이터 세트들은 대부분 데이터 프레임으로 저장되어 있다.

2차원 데이터 구조로 각 행(row)이 하나의 사건을 그리고 각 열(Column)이 하나의 변수를 나타낸다.

데이터 프레임은 동일한 길이의 벡터들의 리스트라고 보면 되며 여기서 벡터는 하나의 열이다.

 

우선 R에는 다양한 샘플 데이터들을 사용할 수 있다.

 

 

 

< 샘플 데이터 사용하기 >

library(help=datasets) 를 통해 내장되어 있는 데이터 셋을 확인할 수 있다. 

 

library(help=datasets)

 

 

데이터를 사용할 때는 data(데이터명),  그리고 데이터 구조 파악은 str()을 이용할 수 있고

데이터의 행이 많을 때는 head(데이터명)과 tail(데이터명)을 통해 각각 데이터의 앞부분 행과 마지막 부분 행만 추출해서 볼 수도 있다.

 

data(iris)
str(iris)

head(iris)
tail(iris)

 

 

 

 

< 변수 추가 >

데이터 프레임에 새로운 열, 즉 변수를 추가 하고 싶을 때는 데이터명$새로운변수명 <- 데이터값(벡터) 를 이용한다.

 

# create dataframe
name <- c("John", "Minsoo", "haein")
salary <- c(3000, 5000, 8500)

var <- data.frame(name, salary)
var

# add column
gender <- c("M", "M", "M")
var$gender <- gender

var
str(var)

 

 

만약, 벡터의 길이가 해당 데이터 프레임의 행 개수보다 적다면, 모든 행을 채울 때 까지 해당 벡터가 반복된다.

(벡터의 재사용)

 

 

 

< 변수 삭제 >

열을 추가했을 때와는 반대로 해당 변수에 NULL을 입력하면 삭제된다.

※ NULL값은 '빈 값'이라는 뜻이다.

 

# delete column
var
var$gender <- NULL

var

 

 

 

 

< 변수 이름 변경 >

names(데이터명)으로 변수명을 확인할 수 있고,

names(데이터명)[몇번째변수인지숫자입력] <- "새로운 변수명" 으로 변수명 변경할 수 있다.

 

var
names(var)

names(var)[2] <- "income"
var

 

 

 

 

< 변수 순서 변경 >

변수의 순서를 변경하는 방법은 

열의 위치를 이용해 순서를 바꾸는 방법이 있고, 열의 이름을 이용해 순서를 바꾸는 방법이 있다.

 

var
var <- var[c(2, 1)]
var

var <- var[c("name", "income")]
var