# 패키지 다운로드
install.packages("ggplot2")
library(ggplot2)
x <-c("a", "a", "b", "c")
x
qplot(x)
print(mpg) #내장 패키지 (ggplot2 안에)
mpg
qplot(data = mpg, x=cty)
ggplot2::mpg #클래스::클래스 2PartName
ls() #object list
rm(x) #지우기
str(mpg) # 구조 확인
mpg$hwy # 데이터프레임의 변수 선택
max(mpg$hwy) #hwy변수의 최대값
-install.packages(" ") 패키지 다운로드
-library() 라이브러리 할당
-qplot() 그래프 생성
-rm() 지우기
-str() 구조 확인
-데이터프레임$변수 변수선택
-max() 최대값
# 그래프 그리기
# x축 cty
qplot(data=mpg, x=cty)
# x축 dry, y축 hwy
qplot(data=mpg, x=dry, y=hwy)
# x축 dry, y축 hwy, 선그래프 형태
qplot(data=mpg, x=dry, y=hwy, geom = "line")
# x축 dry, y축 hwy, 상자 그림 형태
qplot(data=mpg, x=hwy, y=hwy, geom = "boxplot")
# x축 dry, y축 hwy, 상자그림 형태, drv별 색 표현
qplot(data=mpg, x=hwy, y=hwy, geom = "boxplot", colour = drv)
4장 데이터프레임
80p-84p - 데이터프레임
english <- c(90,80,60,70)
english
math <- c(50,60,100,20)
math
df_midterm <- data.frame(english, math)
df_midterm
class <- c(1,1,2,2)
class
mean(df_midterm$english)
mean(df_midterm$math)
df_midterm <- data.frame(english = c(90,80,60,70),
math = c(50,60,100,20),
class = c(1,1,2,2))
df_midterm
데이터프레임 만드는 법 1) 엑셀 2) DB
85p-92p - 엑셀파일 불러오기
엑셀을 불러온 경우 엑셀파일을 꼭 열어보기
install.packages("readxl")
library(readxl)
dir("D:/rclass")
df_exam <- read_excel("D:/rclass/excel_exam.xlsx")
df_exam
mean(df_exam$english)
mean(df_exam$science)
df_exam_novar <- read_excel("D:/rclass/excel_exam_novar.xlsx") #첫번째 행의 값이 col_names가 됨
df_exam_novar
df_exam_novar <- read_excel("D:/rclass/excel_exam_novar.xlsx", #첫번째 행의 값을 첫번째 행의 값으로.
col_names = F)
df_exam_novar
df_exam_sheet <- read_excel("D:/rclass/excel_exam_sheet.xlsx", # 엑셀파일의 3번째 시트에 있는 데이터 불러오기
sheet = 3)
df_exam_sheet
93-94p - csv파일 불러오기
csv로 불러오는 이유 ? 데이터 양의 제약이 없다. 빠르다.
csv로 불러올 때 주의할 점 : 구분자를 꼭 확인하기 !!
#csv 파일 불러오기
dir("D:/rclass")
df_csv_exam <- read.csv("D:/rclass/csv_exam.csv") # f1키로 사용법 확인 read.table(file, header=FALSE[첫번째 행],
# sep=""[구분자 지정] )
df_csv_exam
df_csv_exam <- read.csv("csv_exam.csv", stringsAsFactors = F) # Factor로 유형을 변경하지 않음
95p - csv파일 생성해서 저장하기
#csv파일 만들기
df_midterm <- data.frame(english = c(90,80,60,70),
math = c(50,60,100,20),
class = c(1,1,2,2))
write.csv(df_midterm, file = "D:/rclass/df_midterm.csv") # r에서 만든 데이터프레임을 csv파일로 저장
96p-97p - RDS파일 생성하기
rds파일은 r에서만 사용 가능하기 때문에 호환성이 적다.
# RDS 파일로 저장하기
saveRDS(df_midterm, file="D:/rclass/df_midterm.rds")
dir("D:/rclass")
rm(df_midterm) #데이터프레임 삭제
df_midterm # 삭제된 것 확인
df_midterm <- readRDS("D:/rclass/df_midterm.rds")
df_midterm # 생성된 것 확인
5장 데이터 분석 기초
데이터를 파악할 때 사용하는 함수들 | |
head() | 데이터 앞부분 출력 |
tail() | 데이터 뒷부분 출력 |
view() | 뷰어 창에서 데이터 확인 |
dim() | 데이터 차원 출력 |
str() | 데이터 속성 출력 |
summary() | 요약 통계량 출력 |
100p-105p 데이터 파악
#데이터 불러오기
exam <- read.csv("D:/rclass/csv_exam.csv")
exam
# head() - 데이터 앞부분 확인하기
head(exam) # default는 앞에서부터 6행까지 출력
head(exam, 10) # 앞에서부터 10행까지 출력
# tail() - 데이터 뒷부분 확인하기
tail(exam) # default는 뒤에서부터 6행까지 출력
tail(exam, 10) # 뒤에서부터 10행까지 출력
# view() - 뷰어 창에서 데이터 확인
View(exam) #대문자 V로 입력해야 함을 주의
# dim() - 데이터 차원 출력
dim(exam)
# str() - 데이터 속성 출력
str(exam) # 20개의 obs(관측치)와 5개의 variables(변수)
#summary() - 요약 통계량 출력
summary(exam)
summary() 사용시 출력되는 요약 통계량
Min, 1st Qu, Median, Mean, 3rd Qu, Max
최솟값, 1사분위수, 중앙값, 평균, 3사분위수, 최댓값
106p-109p - 'mpg'이용해서 데이터 파악해보기
# mpg데이터 파악하기
mpg <- as.data.frame(ggplot2::mpg)
head(mpg)
tail(mpg)
View(mpg) # 열에서 정렬 가능
dim(mpg) # 행,열 출력 (행 234개, 열 11개)
str(mpg)
summary(mpg)
109p 요약 통계량 (summary)를 이용해 데이터 해석하기
cty변수이용 ( 도시 연비 )
- Mean : 자동차들이 도시에서 평균적으로 갤런장 16.86마일을 주행한다.
- Min, Max : 연비가 가장 낮은 모델은 갤런당 9마일, 가장 높은 모델은 35마일을 주행한다.
- Median, 1st, 3rd : 자동차들의 연비가 갤런당 17마일을 중심으로 14마일에서 19마일사이에 몰려있다.
110p - 117p 변수명 바꾸기
# 05-2 변수명 바꾸기
df_raw <- data.frame(var1 = c(1,2,1),
var2 = c(2,3,2))
df_raw
install.packages("dplyr") # dplyr설치
library(dplyr) # dplyr 로드
# 복사본 만들기
df_new <- df_raw # 복사본 생성
df_new # 복사본 출력
# 변수명 바꾸기
df_new <- rename(df_new, v2 = var2) # var2를 v2로 수정
df_new
# 05-3 파생변수 만들기
df <- data.frame(var1 = c(4,3,8),
var2 = c(2,6,1))
df
df$var_sum <- df$var1 + df$var2
df
df$var_mean <- (df$var1 + df$var2)/2
df
# mpg 통합 연비 변수 만들기
mpg$total <- (mpg$cty + mpg$hwy)/2 # 통합 연비 변수 생성
head(mpg)
mean(mpg$total) # 통합 연비 변수 평균
#조건문을 이용해 파생변수 만들기
summary(mpg$total) # 통계량에서 중앙값과 평균 확인하기
hist(mpg$total) # 히스토그램 생성
해석
- 평균과 중앙값이 약 20이다.
- 연비가 20~25 사이에 해당하는 자동차 모델이 가장 많다.
- 대부분 25이하이고, 25를 넘기는 자동차는 많지 않다.
117p - 119p - ifelse문 사용
# 합격 판정 변수 만들기
# 20이상이면 pass, 그렇지 않으면 fail 부여
mpg$test <- ifelse(mpg$total >= 20, "pass", "fail")
head(mpg, 20) # 데이터 확인
# 빈도표로 합격 판정 자동차 수 살펴보기
table(mpg$test) # 연비 합격 빈도표 생성
library(ggplot2)
qplot(mpg$test) # 연비 합격 빈도 막대 그래프 생성
※ Error in .Call.graphics(C_palette2, .Call(C_palette2, NULL)) :
그래픽 상태가 올바르지 않습니다 라고 뜨면 ? history지우고 다시 실행
119p - 121p - 중첩 조건문 활용하기
# total을 기준으로 A, B, C 등급 부여
mpg$grade <- ifelse(mpg$total >= 30, "A",
ifelse(mpg$total >= 20, "B", "C"))
head(mpg, 20)
# 빈도표, 막대 그래프로 연비 등급 살펴보기
table(mpg$grade)
qplot(mpg$grade)