3. 데이터 분석을 위한 연장 챙기기
03-1 변하는 수, '변수' 이해하기
|변수는 '변하는 수'다.
소득 | 성별 | 학점 | 국적 |
1000만원 | 남자 | 3.8 | 대한민국 |
2000만원 | 남자 | 4.2 | 대한민국 |
3000만원 | 여자 | 2.6 | 대한민국 |
4000만원 | 여자 | 4.5 | 대한민국 |
이 표에서 소득, 성별, 학점은 변수이고 국적은 상수이다. 변수는 데이터 분석 대상이고 상수는 아니다.
<변수 만들기>
1. a<-1
a
의 결과는 1
2. b<-2
b
의 결과는 2
3. a+b
의 결과는 3
4. 4/b
의 결과는 2
|변수명 생성 규칙
1. 변수명은 의미를 담아 정해야 한다.
2. 문자로 시작해야 한다.
3. 문자, 숫자, 대시(-), 언더바(_)를 조합해 정해야 한다.
<여러 값으로 구성된 변수 만들기>
1. var1<-c(1,2,3,4,5)
var1
결과: 1 2 3 4 5
2. var2<-c(1:5)
var2
결과: 1 2 3 4 5
3. var3 <- seq(1,5)
var3
결과: 1 2 3 4 5
4. var4 <- seq(1,5 , b=2)
var4
결과: 1 3 5
5. var1 +2
결과: 3 4 7 9 10
<문자로 된 변수 만들기>
1. str1<-"a"
str1
결과: "a"
2. str2<-"text"
str2
결과: "text"
3. str3<-c("a", "b", "c")
str3
결과: "a" "b" "c"
4. str4<-c("Hello!" "World", "is", "good!")
str4
결과: "Hello!" "World" "is" "good!"
03-2 마술 상자 같은 '함수' 이해하기
|데이터 분석은 함수로 시작해 함수로 끝난다
*함수는 마법 상자 같은 기능을 한다
ex) 1, 2, 3 -> (1+2+3)/n -> 2
<숫자를 다루는 함수 이용하기>
1. x<- c(1,2,3)
x
##[1] 1 2 3
2. mean(x)
##[1] 2
3. max(x)
##[1] 3
4. min(x)
##[1] 1
<문자를 다루는 함수 이용하기>
1. str5 <- c("Hello!", "World", "is", "good!")
##[1] "Hello!" "World" "is" "good!"
paste(str5, collapse=",")
##[1] "Hello!,World,is,good!"
2. paste(str5, collapse=" ")
##[1] "Hello! World is good!"
3. x_mean <- mean(x)
x_mean
##[1] 2
4. str5_paste <- paste(str5, collapse= " ")
str5_paste
##[1] "Hello! World is good!"
03-3 함수 꾸러미, '패키지' 이해하기
|패키지란?
패키지: 함수(특정한 기능을 가진 상자)들이 여러개 들어 있는 상자 꾸러미
*함수를 사용하려면 패키지 설치 먼저!
ex) ggplot2 => ggplot(), qplot(), geom_histogram() 포함
*스마트폰에 앱을 깔듯 입맛대로 골라 설치할 수 있다!
<ggplot2 패키지 설치하기>
패키지 설치하기 -> 패키지 로드하기 -> 함수 사용하기
* 패키지 로드하는 작업은 R 스튜디오를 새로 시작할 때 마다 반복해야 한다.
1. ggplot 패키지 설치하기
install.packages("ggplot2")
2. ggplot 패키지 로드하기
library(ggplot2)
3. 함수 사용하기
x<- c("a", "a", "b", "c")
x
qplot(x)
2.0 | |||
1.5 | |||
1.0 | |||
0.5 | |||
0.0 | a | b | c |
4. 데이터 프레임의 세계로!
04-1 데이터는 어떻게 생겼나?-데이터 프레임 이해하기
성별 | 연령 | 학점 | 연봉 |
남자 | 26 | 3.8 | 2,700만원 |
여자 | 42 | 4.2 | 4,000만원 |
남자 | 35 | 2.6 | 3,500만원 |
1. '열
' 은 속성이다 ex) 성별, 연령, 학점, 연봉
2. '행' 은 한 사람의 정보다 ex) 1. 남자, 26살, 3.8점, 2,700만원
3. 한 명에 대한 데이터는 가로 한 줄에 나열된다
4. 데이터가 크다 = 행이 많다 또는 열이 많다
04-2 데이터 프레임 만들기 - 시험 성적 데이터를 만들어 보자!
<데이터 입력해 데이터 프레임 만들기>
이름 | 영어 점수 | 수학 점수 |
김지훈 | 90 | 50 |
이유진 | 80 | 60 |
박동현 | 60 | 100 |
김민지 | 70 | 20 |
1. 변수 만들기
english <- c(90, 80, 60, 70)
english
##[1] 90 80 60 70
math <- c(50, 60, 100, 20)
math
##[1] 50 60 100 20
2. 데이터 프레임 만들기
df_midterm <- data.frame(english, math)
df_midterm
## english math
##1 90 50
##2 80 60
##3 60 100
##4 70 20
3. 반에 대한 추가 정보 입력
class <-c(1, 1, 2, 2)
class
##[1] 1 1 2 2
df_midterm <- data.frame(english, math, class)
df_midterm
## english math class
##1 90 50 1
##2 80 60 1
##3 60 100 2
##4 70 20 2
4. 분석하기
mean(df_midterm$english)
## [1] 75
mean(df_midterm$math)
##[1] 57.5
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 외부 데이터 이용하기- 축적된 시험 성적 데이터를 불러오자!
<엑셀 파일 불러오기>
1. 깃허브(bit.ly/doit_ra)에서 excel_exam.xlsx 파일 다운 후 엑셀에서 열기
변수는 5개로 id, class, math, english, science / 행은 21행으로 20명의 정보 담고 있음
2. 프로젝트 폴더에 엑셀 파일 삽입하기
excel_exam.xlsx 를 프로젝트 폴더에 넣어둔다.
3. readxl 패키지 설치하고 로드하기
install.packages("readxl")
library(readxl)
4. 엑셀 파일 불러오기
df_exam <- read_excel("excel_exam.xlsx")
df_exam
## id class math english science
## 1 1 1 50 98 50
## 2 2 1 60 97 60
...
5. 분석하기
mean(df_exam$english)
##[1] 84.9
mean(df_exam$science)
##[1]59.45
| 엑셀 파일 첫 번째 행이 변수명이 아니라면?
=> col_names = F 사용
| 엑셀 파일에 시트가 여러 개 있다면?
=> sheet 파라미터 사용
<csv 파일 불러오기>
1. 프로젝트 폴더에 csv 파일 삽입하기
깃허브(bit.ly/doit_ra)에서 csv_exam.csv 파일 다운로드 하기
2. csv 파일 불러 오기
=> read.csv() 사용 / 첫번째 행 없을 시 => header = F 파라미터 사용
| 문자가 들어 있는 파일을 불러올 때는 stringsAsFactors = F
<데이터 프레임을 csv 파일로 저장하기>
1. 데이터 프레임 만들기
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
2. csv파일로 저장하기
write.csv(df_midterm, file = "df_midterm.csv")
<RData 파일 활용하기>
RData : R 전용 데이터 파일
1. 데이터 프레임을 RData 파일로 저장하기
save(df_midterm, file = "df_midterm.rda")
2. RData 파일 불러오기
load("df_midterm.rda")
df_midterm
## english math class
##1 90 50 1
##2 80 60 1
##3 60 100 2
##4 70 20 2
출처: 김영우, "쉽게 배우는 R 데이터 분석", 이지스퍼블리싱, 2017년, 59~98쪽
'수업후기 > 확률과 통계' 카테고리의 다른 글
6강: R 그래프 만들기 (0) | 2019.04.18 |
---|---|
5강: 데이터 정제 (0) | 2019.04.14 |
4강: R데이터 분석: 자유자재로 데이터 가공하기 (0) | 2019.04.11 |
3강: R데이터 분석 기초, 변수타입 (1) | 2019.04.05 |
1강: 타이타닉호의 비극, 빅데이터 분석도구 R이란?, 빅데이터 분석 IDE R Studio (0) | 2019.03.20 |