Computer engineering/R

데이터를 파악해보자

JuNM0418 2019. 3. 28. 16:04

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