728x90

이번 시간은 데이터분석에서 가장 많이 사용되는 데이터프레임에 대하여 상세히 다룹니다.

그리고 5번째 데이터객체인 리스트에 대해서 설명합니다.
그리고 5가지 객체를 다루면서 유의해야 할 사항들을 설명합니다.

 

외부 파일이나 엑셀 데이터를 R로 불러들일 때 기본적으로 데이터프레임 형태로 지원됩니다.

데이터프레임은 행렬(matrix)과 비슷한 형태이지만, 데이터프레임은 열마다 자료형이 달라질 수 있습니다.

열로는 변수명을 가지고 행으로는 관찰치의 개념을 가지고 있는 것입니다.

데이터 프레임은 변수와 행으로 이루어진 객체로 엑셀, SAS SPSS 등에서 많이 사용되는 형태입니다.

벡터와 행렬을 이용하여 데이터프레임을 만들 수 있고, 외부 텍스트 데이터를 불러와 만들 수 있습니다

데이터프레임에서 한 열을 추출하여 벡터를 만들 수 있습니다.

 

데이터프레임에서 헷갈리는 부분이 요소 접근하기입니다.

설문지 데이터 survey_nh.csv 파일을 이용할 때 각 변수에 접근하는 방법으로 다음과 같은 것이 있습니다.

 

survey$age        벡터

survey[“age”]      데이터프레임

survey[[“age”]]    벡터

survey[,3]          벡터

survey[3]          데이터프레임

survey[[3]]        벡터

 

1. 데이터프레임 만들기

 실제로 데이터를 분석할 때에 데이터프레임이 가장 많이 사용됩니다.

외부파일에서 읽어 들이거나, 벡터 또는 행렬 등에서 데이터프레임을 만드는 방법에 대하여 설명합니다.

 

# (1.1) 벡터들을 이용해 data.frame 만들기

id <- c('A001','A002','A003','A004','A005','A006')

gender <- c('F','F','F','M','M',"M")

(wei <- c(65, 66, 69, 67, 68, 72))

(hei <- c(171,172,176,173,177,178))

age <- c(23,24,38,43,40,42)

dataf01 <- data.frame(id,gender,wei,hei,age)

dataf01

 

 

# (1.2) 곧바로 데이터프레임을 만들 때

dataf02 <- data.frame(

gender = c('F','F','F','M','M',"M"),

wei = c(65, 66, 69, 67, 68, 72),

hei = c(171,172,176,173,177,178),

age = c(23,24,38,43,40,42))

 dataf02

 

# (2) 다른 데이터객체서 데이터프레임 만들기 - as.data.frame() 함수 이용

 

다른 데이터 객체에서 데이터프레임으로 변환하려면 as.data.frame( ) 함수를 이용하면 됩니다.

gender <- c('F','F','F','M','M',"M")
as.data.frame(gender) 

mat01 <- matrix(7,2,3);mat01

as.data.frame(mat01) ; dataf02

 

# (3) 데이터프레임의 속성 살펴보기

dataf01

class(dataf01) # dataframe 

mode(dataf01) # list

str(dataf01) # 데이터프레임 구조를 출력

dim(dataf01) # 데이터프레임의 차원 (7 3)

names(dataf01) # gender hei wei

length(dataf01) # 3

head(dataf01)

tail(dataf01)

is.data.frame(dataf04) # TRUE

is.list(dataf04) #TRUE 프레임은 리스트이다...

 

 참고:

mode(dataf01) # list

    데이터프레임의 자료형을 살펴보면 리스트인 것을 볼 수 있습니다.     
    데이터프레임은 data.frame 이라는 클래스를 갖고 있는 리스트입니다.

 

# 데이터프레임 기술통계 구하기

 > summary(dataf1)

 

wei

Min. :65.00      :  최소값

1st Qu.:66.254  : 1/4 분위수

Median :67.50  : 중앙값

Mean :67.83    : 평균값 

3rd Qu.:68.75  : 3/4 분위수

Max. :72.00     : 최대값

 

 

 

 

 

 

 

+ Recent posts