10.2 데이터 프레임의 구조

데이터 프레임의 구조 즉 행과 열에 대한 정보를 파악하는 것은 매우 중요합니다. 데이터 프레임의 구조는 str() 함수를 사용하여 확인할 수 있습니다.

앞에서 살펴보았던 예를 다시 한번 더 살표 보겠습니다.

# 4개 열, 5개 행으로 구성된 데이터 프레임을 생성합니다.
emp.data1 <- data.frame(emp_id = c(1:5),                                     # 1번쨰 컬럼 : emp_id
                       emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),  # 2번째 컬럼 : emp_name
                       salary = c(623.3,515.2,611.0,729.0,843.25),           # 3번쨰 컬럼 : salary
                       start_date = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", 
                                              "2014-05-11", "2015-03-27")),  # 4번째 컬럼 : start_date
                       stringsAsFactors = TRUE             # 문자형 컬럼인 emp_name을 요인형으로 변환합니다.
)

# emp.data의 구조를 확인합니다.
str(emp.data1)        
## 'data.frame':    5 obs. of  4 variables:
##  $ emp_id    : int  1 2 3 4 5
##  $ emp_name  : Factor w/ 5 levels "Dan","Gary","Michelle",..: 4 1 3 5 2
##  $ salary    : num  623 515 611 729 843
##  $ start_date: Date, format: "2012-01-01" "2013-09-23" ...
# head() 함수와 tail() 함수를 이용하여 emp.data의 앞 부분의 데이터와 뒷 부분의 데이터를 확인할 수 있습니다
head(emp.data1)             # head() 함수는 앞의 6개 행을 보여줍니다.
##   emp_id emp_name salary start_date
## 1      1     Rick 623.30 2012-01-01
## 2      2      Dan 515.20 2013-09-23
## 3      3 Michelle 611.00 2014-11-15
## 4      4     Ryan 729.00 2014-05-11
## 5      5     Gary 843.25 2015-03-27
tail(emp.data1)             # tail() 함수는 뒤의 6개 행을 보여줍니다. 
##   emp_id emp_name salary start_date
## 1      1     Rick 623.30 2012-01-01
## 2      2      Dan 515.20 2013-09-23
## 3      3 Michelle 611.00 2014-11-15
## 4      4     Ryan 729.00 2014-05-11
## 5      5     Gary 843.25 2015-03-27