반응형
데이터 프레임(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
열과 행 모두 필요한 데이터보다 적게 입력하면 오류가 난다.
반응형
'database > R Programming' 카테고리의 다른 글
[R Programming] R을 통한 데이터의 시각화 (0) | 2022.02.13 |
---|---|
[R Programming] 원하는 데이터 찾기 / 데이터 필터링 / 데이터 추출하기 (0) | 2022.01.25 |
[R Programming] 데이터 함수에 적용하기 / 파이프 연산자 / %>% (0) | 2022.01.25 |
[R Programming] mode() / 데이터 자료형 확인하기 (0) | 2022.01.24 |
[R Programming] Data 확인하기 / View() / head() / tail() (1) | 2022.01.21 |