728x90

04 데이터 프레임의 세계로!

04-1 데이터는 어떻게 생겼나? - 데이터 프레임 이해하기

  • 데이터 프레임(Data Frame)
    • 가장 많이 사용하는 데이터 형태
    • 행과 열로 구성된 사각형 모양의 표
  • 세로로 나열되는 열은 속성
    • 열은 '컬럼(Column)' 또는 '변수(Variable)'
  • 가로로 나열되는 행은 각 사람에 대한 정보
    • 행은 Row(로) 또는 Case(케이스)
  • "데이터가 크다"라는 말은 행이 많다는 의미일 수도 있고, 열이 많다는 의미일 수도 있음
    • 데이터를 분석하는 입장에서 봤을 때 열이 많은 것이 더 중요
    • 변수가 늘어나면 단순한 분석 방법으로는 해결하기 힘들어지고
      여러 변수의 영향을 동시에 고려할 수 있는 복잡한 분석 방법을 활용해야 할 필요성이 생김
    • 변수가 많아지면 적용하는 분석 기술이 달라지기 때문에 분석가는 전보다 많은 노력을 기울여야 함
  • "데이터가 크다"
    • 행이 많다 → 컴퓨터가 느려짐 → 고사양 장비 구축
    • 열이 많다 → 분석 방법의 한계 → 고급 분석 방법

04-2 데이터 프레임 만들기 - 시험 성적 데이터를 만들어 보자!

english <- c(90, 80, 60, 70)  # 영어 점수 변수 생성
english

## [1] 90 80 60 70

math <- c(50, 60, 100, 20)  # 수학 점수 변수 생성
math

## [1]  50  60 100  20

# english, math로 데이터 프레임 생성해서 df_midterm에 할당
df_midterm <- data.frame(english, math)
df_midterm

##   english math
## 1      90   50
## 2      80   60
## 3      60  100
## 4      70   20

mean(df_midterm$english)  # df_midterm의 english로 평균 산출

## [1] 75

mean(df_midterm$math)  # df_midterm의 math로 평균 산출

## [1] 57.5

# 데이터 프레임 한 번에 만들기
df_midterm <- data.frame(english = c(90, 80, 60, 70),
                         math = c(50, 60, 100, 20),
                         class = c(1, 1, 2, 2))
df_midterm

##   english math class
## 1      90   50     1
## 2      80   60     1
## 3      60  100     2
## 4      70   20     2

04-3 외부 데이터 이용하기 - 축적된 시험 성적 데이터를 불러오자!

  • 엑셀 파일 불러오기
    install.packages("readxl")
    library(readxl)
    
    df_exam <- read_excel("./data/excel_exam.xlsx")  # 엑셀 파일을 불러와 df_exam에 할당
    df_exam                                          # 출력
    
    ##       id class  math english science
    ##    <dbl> <dbl> <dbl>   <dbl>   <dbl>
    ##  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
    ##  ...
    
    mean(df_exam$english)
    
    ## [1] 84.9
    
    mean(df_exam$science)
    
    ## [1] 59.45
  • CSV 파일 불러오기
    df_csv_exam <- read.csv("./data/csv_exam.csv")
    df_csv_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
    ## ...
    
    # 데이터 프레임을 CSV 파일로 저장하기
    df_midterm <- data.frame(english = c(90, 80, 60, 70),
                             math = c(50, 60, 100, 20),
                             class = c(1, 1, 2, 2))
    df_midterm
    
    ##   english math class
    ## 1      90   50     1
    ## 2      80   60     1
    ## 3      60  100     2
    ## 4      70   20     2
    
    write.csv(df_midterm, file = "./data/df_midterm.csv")
  • RDS 파일 활용하기
    df_midterm <- readRDS("./data/df_midterm.rds")
    
    df_midterm
    
    ##   english math class
    ## 1      90   50     1
    ## 2      80   60     1
    ## 3      60  100     2
    ## 4      70   20     2

05 데이터 분석 기초! - 데이터 파악하기, 다루기 쉽게 수정하기

05-1 데이터 파악하기

  • 데이터가 주어졌을 때 가장 먼저 하는 일은 데이터의 전반적인 구조를 파악하는 것
    • 어떤 변수들이 있는지, 몇 행으로 구성되어 있는지 전반적인 구조를 살펴보면서 데이터의 특징에 대한 감을 잡음
  • 데이터를 파악할 때 사용하는 함수들
    • head()
      • 데이터 앞부분 출력
    • tail()
      • 데이터 뒷부분 출력
    • View()
      • 뷰어 창에서 데이터 확인
    • dim()
      • 데이터 차원 출력
    • str()
      • 데이터 속성 출력
    • summary()
      • 요약 통계량 출력

05-2 변수명 바꾸기

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

install.packages("dplyr")  # dplyr 설치
library(dplyr)             # dplyr 로드

df_new <- df_raw  # 복사본 생성
df_new            # 출력

##   var1 var2
## 1    1    2
## 2    2    3
## 3    1    2

df_new <- rename(df_new, v2 = var2)  # var2를 v2로 수정
df_new

##   var1 v2
## 1    1  2
## 2    2  3
## 3    1  2

05-3 파생변수 만들기

  • 파생변수(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  # var_sum 파생변수 생성
    df
    
    ##   var1 var2 var_sum
    ## 1    4    2       6
    ## 2    3    6       9
    ## 3    8    1       9
    
    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
출처 : Do it! 쉽게 배우는 R 데이터 분석
 

Do it! 쉽게 배우는 R 데이터 분석

통계, 프로그래밍을 1도 몰라도 데이터를 혼자서 다룰 수 있다!데이터 분석 프로젝트 전 과정 수록!데이터 분석을 처음 시작한 초보자도 어깨춤을 추며 데이터를 혼자 다룰 수 있게 한다는 강의

book.naver.com

728x90