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()
- 요약 통계량 출력
- head()
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 데이터 분석
728x90
'Do it! > R' 카테고리의 다른 글
Do it! 쉽게 배우는 R 데이터 분석 - 데이터 정제 (0) | 2021.02.25 |
---|---|
Do it! 쉽게 배우는 R 데이터 분석 - 데이터 가공 (0) | 2021.02.24 |
Do it! 쉽게 배우는 R 데이터 분석 - R 기초 (0) | 2021.02.22 |