본문 바로가기

database/R Programming

[R Programming] 데이터 프레임(Data frame) 만들기 / 데이터 추가하기 / data.frame()

반응형

데이터 프레임(Data frame)

데이터 프레임은 2차원 형태의 데이터이다. 행렬(matrix)과 다른 점은 여러가지의 자료형을 하나의 데이터로 가지고 있을 수 있다는 것이다.

 

 

데이터 프레임 생성 / data.frame()

data.frame()을 통해 데이터 프레임을 생성할 수 있다. 

 

> date <- c(220128, 220129, 220130, 220131, 220201)
> Temper <- c(-2, -8, -10, -9, -4)
> day <- c('Fri', 'Sat', 'Sun', 'Mon', 'Tue')

> temper_Date <- data.frame(date, Temper, day)

> temper_Date

    date Temper day
1 220128     -2 Fri
2 220129     -8 Sat
3 220130    -10 Sun
4 220131     -9 Mon
5 220201     -4 Tue

 

값을 넣은 벡터들(이후에 데이터 형식 정리해서 올릴 예정, 여기서는 date, Temper, day)을 data.frame()에 적용하여 데이터 프레임을 생성할 수 있다. 

 

 

데이터 프레임에 열 추가

 

 생성된 데이터 프레임에 또 다른 열을 추가하려면 +를 사용하여 쉽게 추가할 수 있다.

 temper_Date에 도서관이 개폐여부에 대한 팩터를 추가해주려면 library라는 팩터를 만든 후 

 temper_Date$library에 직접 추가해준다. 

 

library <- factor(c('open', 'close', 'close', 'open', 'open'))

temper_Date$library <- library

> temper_Date
    date Temper day library
1 220128     -2 Fri    open
2 220129     -8 Sat   close
3 220130    -10 Sun   close
4 220131     -9 Mon    open
5 220201     -4 Tue    open

 

새로운 열인 library가 추가된 것을 확인할 수 있다. (벡터가 아닌 팩터도 추가 가능하다!)

 

 

데이터 프레임에 행 추가

 

 생성된 데이터 프레임에 행을 추가하려면 데이터의 추가 행에 넣을 값을 직접 입력해준다.

temper_Date의 6번째 행에 새로운 데이터를 추가하려면 temper_Date[6, ]에 데이터를 입력한다.

 

> temper_Date[6,] <- c(220202, -8, 'wed', 'open')

> temper_Date

    date Temper day library
1 220128     -2 Fri    open
2 220129     -8 Sat   close
3 220130    -10 Sun   close
4 220131     -9 Mon    open
5 220201     -4 Tue    open
6 220202     -8 wed    open

 

 6번째 행에 새로운 데이터가 추가된 것을 확인할 수 있다.

 

> temper_Date[7,] <- c(220202, -8, 'wed' )

Error in `[<-.data.frame`(`*tmp*`, 7, , value = c("220202", "-8", "wed" : 
  replacement has 3 items, need 4
  
  
> test <- c(1,2,3,4,5)
> temper_Date$num <- test

Error in `$<-.data.frame`(`*tmp*`, num, value = c(1, 2, 3, 4, 5)) : 
  replacement has 5 rows, data has 6

열과 행 모두 필요한 데이터보다 적게 입력하면 오류가 난다. 

 

 

 

반응형