데이터를 파악해보자
exam 데이터 파악하기
csv_exam.csv
을 불러오기 위해 다음과 같이 입력한다.
exam <- read.csv("csv_exam.csv")
데이터를 불러왔으니 다음과 같은 함수들을 사용해서 구조를 파악해보자.
함수 | 기능 |
---|---|
head( ) | 데이터 앞부분 출력 |
tail( ) | 데이터 뒷부분 출력 |
View( ) | 뷰어 창에서 데이터 확인 |
dim( ) | 데이터 차원 출력 |
str( ) | 데이터 속성 출력 |
summary( ) | 요약 통계량 출력 |
head( )
head( )
함수를 사용하여 앞부분 데이터 출력
다른 함수들도 마찬가지로 6행까지 출력이 default
설정
파라미터로 ( , 숫자)
를 입력하면 입력된 숫자만큼의 행이 출력된다.
head(exam)
id class math english science
1 1 1 50 98 50
2 2 1 60 97 60
3 3 1 45 86 78
4 4 1 30 98 58
5 5 2 25 80 65
6 6 2 50 89 98
head(exam, 10) #앞에서부터 10행까지 출력
id class math english science
1 1 1 50 98 50
2 2 1 60 97 60
3 3 1 45 86 78
4 4 1 30 98 58
5 5 2 25 80 65
6 6 2 50 89 98
7 7 2 80 90 45
8 8 2 90 78 25
9 9 3 20 98 15
10 10 3 50 98 45
tail( )
tail( )
함수를 사용하여 뒷부분 데이터 출력
tail(exam)
id class math english science
15 15 4 75 56 78
16 16 4 58 98 65
17 17 5 65 68 98
18 18 5 80 78 90
19 19 5 89 68 87
20 20 5 78 83 58
tail(exam, 10)
id class math english science
11 11 3 65 65 65
12 12 3 45 85 32
13 13 4 46 98 65
14 14 4 48 87 12
15 15 4 75 56 78
16 16 4 58 98 65
17 17 5 65 68 98
18 18 5 80 78 90
19 19 5 89 68 87
20 20 5 78 83 58
View( )
View( )
함수를 사용해서 뷰어 창에서 데이터 확인
View(exam)
dim( )
dim( )
함수를 사용해 데이터가 몇 행, 몇 열로 되어있는지 확인한다.
dim(exam)
[1] 20 5
str( )
str( )
함수를 사용해 데이터에 들어있는 변수들의 속성을 확인한다.
str(exam)
'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 ...
summary( )
summary( )
함수를 사용하면 다음과 같은 기준을 가진 출력값을 출력한다.
출력값 | 통계량 | 설명 |
---|---|---|
Min | 최솟값(Minimum) | 가장 작은 값 |
1st Qu | 1사분위수(1st Quantile) | 하위 25% 지점에 위치하는 값 |
Median | 중앙값(Medain) | 중앙에 위치하는 값 |
Mean | 평균(Mean) | 모든 값을 더해 값의 개수로 나눈 값 |
3rd Qu | 3사분위수(3rd Quantile) | 하위 75% 지점에 위치하는 값 |
Max | 최댓값(Maximum) | 가장 큰 값 |
summary( )
함수를 사용해 변수의 값을 요약한 '요약통계량'을 산출하여 확인한다.
summary(exam)
id class math english
Min. : 1.00 Min. :1 Min. :20.00 Min. :56.0
1st Qu.: 5.75 1st Qu.:2 1st Qu.:45.75 1st Qu.:78.0
Median :10.50 Median :3 Median :54.00 Median :86.5
Mean :10.50 Mean :3 Mean :57.45 Mean :84.9
3rd Qu.:15.25 3rd Qu.:4 3rd Qu.:75.75 3rd Qu.:98.0
Max. :20.00 Max. :5 Max. :90.00 Max. :98.0
science
Min. :12.00
1st Qu.:45.00
Median :62.50
Mean :59.45
3rd Qu.:78.00
Max. :98.00
변수명 바꾸기
데이터를 분석하는데 기억하기 어려운 문자로 되어있으면 데이터를 수월하게 다룰 수가 없다. 따라서 변수의 이름을 바꿔서 수월하게 다룰 수 있게 해야한다.
rename( )
우선 실습에 필요한 데이터프레임을 간단히 만든다.
df_raw <- data.frame(var1 = c(1,2,1), var2 = c(2,3,2))
df_raw
var1 var2
1 1 2
2 2 3
3 1 2
rename( )
을 이용하기 위해서 먼저 dplyr
패키지를 설치하고 로드합니다.
install.packages("dplyr") #dplyr 설치
library(dplyr) #dplyr 로드
데이터프레임복사본 만들기
원본을 잘못 건들이면 문제가 생길수도 있기때문에 꼭 복사본을 만들어서 사용해야한다.
df_new <- df_raw
변수명 바꾸기
rename( )
함수를 사용하여 변수명 만들기
df_new <- rename(df_new, v2 = var2)
df_raw #원본
df_new #사본(변수명바꾼것)
#비교하기
> df_raw
var1 var2
1 1 2
2 2 3
3 1 2
> df_new
var1 v2
1 1 2
2 2 3
3 1 2
파생변수 만들기
여러 과목의 시험 점수를 조합해 전과목 평균 변수를 만들 수 있습니다. 이처럼 기존의 변수를 변형해 만든 변수를 '파생변수(Derived Variable)' 이라고 합니다.
실습을 위해서 데이터 프레임 생성하기
df <- data.frame(var1 = c(4,3,8), var2 = c(2,6,1))
df
var1 var2
1 4 2
2 3 6
3 8 1
위에서 생성한 데이터프레임을 가지고 두 변수의 합을 출력하는 파생변수를 만들어본다.
df$var_sum <- df$var1 + df$var2
df
var1 var2 var_sum
1 4 2 6
2 3 6 9
3 8 1 9
var_sum
변수의 평균을 출력해주는 파생변수를 만들어본다.
df$var_mean <- (df$var1 + df$var2)/2 #var_mean 파생변수 생성
df
var1 var2 var_sum var_mean
1 4 2 6 3.0
2 3 6 9 4.5
3 8 1 9 4.5
조건문을 활용해 파생변수 만들기
ifelse( )
함수를 사용해서 var_mean
의 값이 3이 넘을때 pass
를 출력하고 넘지 않으면 fail
을 출력해보겠습니다.
df$test <- ifelse(df$var_mean > 3, "pass", "fail")
df
var1 var2 var_sum var_mean test
1 4 2 6 3.0 fail
2 3 6 9 4.5 pass
3 8 1 9 4.5 pass
출처
김영우, 쉽게 배우는 R 데이터 분석, 이지퍼블리싱, 2019