본문 바로가기

데이터 다루기/Base of R

R에서의 데이터 프레임 다루기 (1)

728x90
반응형

안녕하세요. 이번 시간에는 R에서 데이터 프레임을 다루는 법에 대해서 알려드리도록 하겠습니다.

데이터 프레임은 분석에 있어서 데이터 셋을 저장하는 형태 중 하나로 벡터와 마찬가지로 가장 많이 사용됩니다.

데이터 실습에 필요한 데이터는 첨부를 했으므로, 이전에 설정한 워킹디렉토리에 저장해주시면 됩니다.

① 데이터 불러오기.

우선 저희는 Kospi 2011y.csv 파일을 이용해 실습을 진행하도록 하겠습니다. csv 파일은 아래와 같이 데이터가 ,(쉼표)로 구분되어지는 확장명 입니다. csv는 데이터 분석 과정에서 가장 많이 쓰이는 확장명이므로 친숙해지기를 권장합니다.

 

stock <- read.csv("KOSPI2011y.csv", header = TRUE)

 

read.csv 함수는 csv 파일을 R로 불러들이는 함수입니다. KOSPI2011y.csv 파일을 stock라는 변수에 담는데, 이 때 header = T 조건을 줌으로써, 첫번째 행에 있는 값을 열 이름으로 받아들입니다. 이 때 추가적으로 stringsAsFactors = T 를 조건으로 주게된다면, 문자열을 Factor 로 받아들일 수 있는데 저희 데이터에는 문자열이 존재하지 않으므로 필요치 않습니다.

데이터가 위와 같이 데이터프레임을 불러와 진것을 보실 수 있습니다.

불러온 데이터 구성 확인하기.

데이터를 불러온 후, 가장 먼저 해야할 일은 불러와진 데이터가 제대로 불러와졌는지와, 구성이 어떠한 지 파악하는 것입니다.

head() 함수는 데이터의 앞부분을, tail() 함수는 데이터의 뒷부분을 간략히 보여주는 함수입니다.

보시다시피, 데이터가 완벽하게 불러와진 것을 볼 수 있습니다. 이제 다음 단계로, 데이터에 존재하는 column 변수들의 형태를 확인해보도록 합시다. str() 함수는 데이터의 타입을 확인시켜줍니다.

위의 결과에서 잘못된 점을 찾으셨나요? 바로 Date 변수가 Date 타입이 아님 Factor 타입으로 저장되어 있습니다. R에 파일을 불러들어올 때 이러한 문제가 자주 발생하므로 변수 타입을 확인하는 과정은 꼼꼼히 살펴보아야 합니다.

stock$Date <- as.Date(stock$Date)

as.Date 함수를 이용하여 Date 변수를 Factor 타입에서 Date 타입으로 변경하도록 합시다.

그 결과, 저희가 원하는 대로 데이터 타입이 설정된 것을 확인하실 수 있습니다.

마지막으로 summary() 함수를 이용하여 데이터 프레임의 각 column의 특징을 간략하게 확인할 수 있습니다.

위 그림과 같이 연속형 변수의 경우 최소값, 1-Quintile, 중앙값, 평균, 3-Quintile, 최대값을 확인할 수 있습니다. 참고로 범주형 변수의 경우, 가장 많은 순서대로 개수가 나온다는 점 알아두시기 바랍니다.

결측치 처리

데이터에 대한 확인이 끝난 후, 결측치 처리를 해주어야 합니다. 하지만 위 데이터에는 결측치가 없으므로 직접 결측치를 만들어보도록 하겠습니다.

stock$KOSPI[c(13,117,242)] <- NA

결측치를 처리하는 방법으로는 가장 자주 쓰이는 방법으로 두 가지가 있습니다.

첫번째 방법은 NA가 많지 않을 때 NA가 존재하는 행을 없애는 방법입니다. 이 방법은 데이터가 많고, 결측치가 적을 때를 제외하고는 데이터의 손실이 발생하므로 잘 추천드리지 않습니다.

stock <- na.omit(stock)

na.omit() 함수를 이용해 NA가 존재하는 행을 전부 제거할 수 있습니다.

두번째 방법으로 NA값을 다른 값을 대체하는 것입니다. 이 때 자주 사용되는 값은 평균값입니다.

stock$KOSPI = ifelse(is.na(stock$KOSPI), mean(stock$KOSPI, na.rm = T), stock$KOSPI)

ifelse () 함수를 이용하여 NA값을 평균값으로 대체할 수 있는데, ifelse 함수는 첫번째에 조건이 들어가고, 그 다음에 그 조건을 만족할 때 실행되는 표현식이 들어가며, 마지막에는 조건을 불만족할 때 실행되는 표현식이 들어가게 됩니다.

반응형

'데이터 다루기 > Base of R' 카테고리의 다른 글

[R] apply 함수  (0) 2019.05.30
R에서의 데이터 프레임 다루기 (2)  (0) 2019.05.29
변수 선언하기 & 데이터 타입 & 자료 구조  (0) 2019.05.29
R의 기능 & 연산  (0) 2019.05.29
R에 대한 소개 & 설치  (0) 2019.05.29