데이터 분석 기초
데이터 분석 기초
데이터 파악
데이터가 주어졌을 때 가장 먼저 하는 일은 데이터의 전반적인 구조를 파악하는 것
-
데이터 파악 함수
함수 기능 head() 데이터 앞부분 출력 tail() 데이터 뒷부분 출력 View() 뷰어 창에서 데이터 확인 dim() 데이터 차원 출력 str() 데이터 속성 출력 summary() 요약 통계량 출력 - head()
- head(프레임명): 앞에서부터 6행까지 출력
- head(프레임명, 10) : 앞에서부터 10행까지 출력
- tail() : 데이터 뒷부분을 출력 - head와 동일
- View() : 뷰어 창에서 데이터 확인
- dim() : 데이터가 몇 행, 몇 열로 구성되어 있는지 출력
- str() : 속성 확인
'data.frame': 20 obs. of 5 variables: $ id : int 1 2 3 4 5 6 7 8 9 10 ... $ class : int 1 1 1 1 2 2 2 2 3 3 ... $ math : int 50 60 45 30 25 50 80 90 20 50 ... $ english: int 98 97 86 98 80 89 90 78 98 98 ... $ science: int 50 60 78 58 65 98 45 25 15 45 ...
- 20개 관측지 (obs, Observation = row)
- 5개 변수 (variables)
- 각 행에 변수 이름과 속성이 표시되고, 그 뒤에 변수에 들어있는 값을 몇개 나열
- summary() : 요약 통계량 산출
id class math Min. : 1.00 Min. :1 Min. :20.00 1st Qu.: 5.75 1st Qu.:2 1st Qu.:45.75 Median :10.50 Median :3 Median :54.00 Mean :10.50 Mean :3 Mean :57.45 3rd Qu.:15.25 3rd Qu.:4 3rd Qu.:75.75 Max. :20.00 Max. :5 Max. :90.00 english science Min. :56.0 Min. :12.00 1st Qu.:78.0 1st Qu.:45.00 Median :86.5 Median :62.50 Mean :84.9 Mean :59.45 3rd Qu.:98.0 3rd Qu.:78.00 Max. :98.0 Max. :98.00
출력값 통계량 설명 Min 최솟값 가장 작은 값 1st Qu 1사분위수 하위25%지점에 위치하는 값 Median 중앙값 중앙에 위치하는 값 Mean 평균 모든 값을 더해 값의 개수로 나눈 값 3rd Qu 3사분위수 하위75%지점에 위치하는 값 Max 최댓값 가장 큰값
변수명 바꾸기
데이터의 특징을 파악한 후 분석전에 변수명을 수정하여 데이터를 쉽게 다루게 한다
- dplyr패키지의 rename()
- dplyr 패키지 설치/로드
install.pakages("dplyr") lilbrary(dplyr)
- 데이터 프레임 복사본 만들기
- 원본을 보유하기 위해 복사본을 만든다
- 데이터를 변형할 때는 복사본을 만들어 사용하는 것이 좋음
df_new <- df_raw
- 변수명 바꾸기
df_new <- rename(df_new, v2 = var2) # var2를 v2로 수정
- dplyr 패키지 설치/로드
파생변수 만들기
변수를 조합하거나 함수를 적용해 새 변수를 만들어 분석할 수도 있다
- 파생변수 만들기
- 변수 생성
df <- data.frame(var1 = c(4,3,8), var2 = c(2,6,1))
- var1과 var2를 더한 파생변수 var_sum 생성
df$var_sum <- df$var1 + df$var2 df var1 var2 var_sum 1 4 2 6 2 3 6 9 3 8 1 9
- 변수 생성
- 조건문으로 파생변수 만들기
- 기준값 정하기
- 평균값, 중앙값 확인 > summary()활용
- 값의 빈도를 막대그래프로 표현 : 히스토그램 > hist()
- 요약 통계량과 히스토그램을 통해 조건을 줄 기준값을 정한다
- 합격 판정 변수 만들기
- 조건문 함수 사용
- ifelse(
조건
,true일때
,false일때
)mpg$test <- ifelse(mpg$total >= 20, "pass", "fail") head(mpg) manufacturer model displ year cyl trans drv cty hwy fl class total test 1 audi a4 1.8 1999 4 auto(l5) f 18 29 p compact 23.5 pass 2 audi a4 1.8 1999 4 manual(m5) f 21 29 p compact 25.0 pass 3 audi a4 2.0 2008 4 manual(m6) f 20 31 p compact 25.5 pass 4 audi a4 2.0 2008 4 auto(av) f 21 30 p compact 25.5 pass 5 audi a4 2.8 1999 6 auto(l5) f 16 26 p compact 21.0 pass 6 audi a4 2.8 1999 6 manual(m5) f 18 26 p compact 22.0 pass
- 빈도표로 합격 판정 수 파악
- 빈도표 : 변수의 각 값들이 몇 개씩 존재하는지, 데이터의 개수를 나타낸 표
- table() ```r table(mpg$test)
fail pass 106 128 ```
- 막대 그래프로 빈도 표현
- ggplot2 패키지 - qplot() : 값의 개수를 막대의 길이로 표현
- 기준값 정하기