이번 시간은 데이터분석에서 가장 많이 사용되는 데이터프레임에 대하여 상세히 다룹니다.
그리고 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 : 최대값 |
'R연습 200제 > 02_00. (R)데이터객체,벡터,행렬' 카테고리의 다른 글
제4강 4.3 리스트 다루기 (0) | 2020.07.25 |
---|---|
제4강 4.2 데이터프레임 요소 접근하기 & 통계분석 (0) | 2020.07.25 |
(R1)제03강(4.1) 배열(array) 다루기 (0) | 2020.07.25 |
(R1)제03강(3.2) 행렬 연산 하기 - 행렬 +/-, 기술통계량, apply 사용하기 (0) | 2020.07.25 |
(R1)제03강(3.1) 행렬 다루기 - 행렬 만들기, 속성 살펴보기, 요소 접근하기 (0) | 2020.07.25 |