그래픽 함수인 ggplot2를 사용하면 눈으로 쉽게 확인할수 있다.
만약 라이브러리가 없다면 명령어를 통해 설치해줍시다
<go />
install.packages('ggplot2')
# 라이브러리 설치후에는 반드시 로드를 해야합니다.
library(ggplot2)
RStudio를 종료했다가 키면 packages의 경우에는 남아있지만 라이브러리는 사용시마다 실행시켜서 로드해줘야 합니다.
우선 간단한 예시를 보여드리겠습니다.
<go />
gg <- c('티','스','토','리','블','로','그','티','토','블')
gg
그냥 gg 실행시 [1] "티" "스" "토" "리" "블" "로" "그" "티" "토" "블" 캐릭터형 타입이 나옵니다
qplot() 이라는 명령어는 빈도 그래프인데 어떠한 요소가 몇번 나오는지 그래프로 보여줍니다.
<go />qplot(gg)

이제는 R에 기본적으로 내장되어 있는 예제를 활용해서 테스트 해보겟습니다.
<go />mpg
mpg는 자동차 종류에 따른 마일리지와 연비 정보가 저장된 데이터입니다.
만약 로드되지않는다면 library(ggplot2)를 해주시거나 mpg <- as.data.frame(ggplot2::mpg) 이렇게 해주세요
<go />library(ggplot2) mpg <- as.data.frame(ggplot2::mpg) mpg
mpg 안의 데이터의 컬럼에 대해 설명입니다.
<go />
# manufacturer : 제조업체
# model : 차모델
# displ : 배기량
# year : 연식
# cyl : 기토 4기통 8기통
# trans : 수동,자동
# drv : 구동방식 전률 ,후륜 ,사륜 드라이브
# cty : 도시연비
# hwy : 고속도로 연비
# fl :기름종류
# class : 등급 , 컴펙 , 대형차 , 소형차
우선 동일대역 연비가 몇대씩 분포하는지 확인해 보도록 하겟습니다.
<go />qplot(data =mpg , x=cty)

이번엔 x축은 구동방식 y축은 고속도로 연비 빈도를 확인해보겟습니다
<go />qplot(data=mpg,x=drv,y=hwy)

4는 4륜 구동 f는 전륜 구동 r은 후륜 구동 입니다
qplot은 선그림 혹은 상자그램 그리고 색상으로도 구분이 가능합니다.
선그림
<go />
qplot(data=mpg,x=drv,y=hwy,geom='line')
geom='line' 속성을 추가하였습니다

상자그램
상자그램의 경우 데이터의 기본적인 것을 분석시에 많이 사용합니다
<go />
qplot(data=mpg,x=drv,y=hwy,geom='boxplot')

색상 추가(변경) 하기
drv별로 색상을 바꾸어보겠습니다.
R언어에서 신기한건 color 를 colour 이라고 표현합니다 두개다 이상없는 결과이고 나무위키 글을 보면
R이 가지는 특이사항 중 하나로, color를 colour라고 쓰는 것 또한 인정된다. 영국식 영어를 사용하는
뉴질랜드에서 개발돼서 얻은 특징인듯.
<go />
qplot(data=mpg,x=drv,y=hwy,geom='boxplot', colour=drv)
qplot(data=mpg,x=drv,y=hwy,geom='boxplot',color=drv)

1. 데이터 프레임을 생성해보자
우선 예시로 영어점수와 수학점수를 만들어 보겟습니다.
<go />
english <- c(90,80,60,70)
english
math <- c(50,60,100,20)
math
데이터 프레임을 만드는 방법은 말그대로 data.frame( , , ) 이런식으로 작성해주면 됩니다.
위에서 만든 영어와 수학을 가지고 만들어 보겟습니다.
<go />df_midterm <- data.frame(english,math) # 데이터 프레임화 시킨다. df_midterm
english math
1 90 50
2 80 60
3 60 100
4 70 20
이번에는 반 컬럼도 추가해 주도록 하겠습니다.
<go />
class <- c(1,1,2,2)
df_midterm <- data.frame(english,math,class)
df_midterm
class를 생성해주고 data.frame에 class를 추가해줍니다.
english math class
1 90 50 1
2 80 60 1
3 60 100 2
4 70 20 2
데이터 프레임 생성시 컬럼명도 지정해 줄수 있습니다.
<go />
df_midterm <- data.frame(english=c(90,80,60,70),math=c(50,60,100,20),class=c(1,1,2,2))
df_midterm
본인이 편한 방법을 사용하시면 됩니다.
영어의 평균과 수학의 평균을 구해보도록 하겠습니다 .
저번글에 마지막에 적었던 mean() 함수를 사용하면 됩니다.
<go />
mean(df_midterm$english) # 영어 평균
mean(df_midterm$math) # 수학 평균
# ======== 실행 결과 ============
> mean(df_midterm$english)
[1] 75
> mean(df_midterm$math)
[1] 57.5
2. 외부파일을 불러오기
R 에서 외부 엑셀 파일을 읽을려면 readxl 패키지가 필요하다.
<go />
install.packages("readxl")
library(readxl)
readxl 패키지를 가져와서 만드시 library(readxl)로 로드해주어야 한다.
로드를 했다면 새변수에 할당해서 사용해 봅시다.
실습할 데이터파일은 Doit_R 깃헙에서 가져오도록 하겠습니다.
github.com/youngwoos/Doit_R/tree/master/Data
youngwoos/Doit_R
저장소. Contribute to youngwoos/Doit_R development by creating an account on GitHub.
github.com

<go />
df_exam <- read_excel("excel_exam.xlsx")
df_exam
만약 가져올 엑셀파일에 컬럼이름이 지정되있지 않다면 첫줄이 컬럼명으로 전환되게 됩니다.
그럴땐 col_names = F 를 지정해주면 임의의 컬럼명을 지원하게 됩니다.
<go />
df_exam_no <- read_excel("excel_exam_novar.xlsx",col_names = F)
df_exam_no


만약 본인이 읽고자 하는 엑셀 파일 내용이 3번째 시트(sheet) 에 있는경우에는
sheet = 3 ( 읽고자 하는 시트) 를 지정해 주어야한다.
<go />
df_exam_sh <- read_excel("excel_exam_sheet.xlsx",sheet = 3)
df_exam_sh
CSV 파일 읽기
csv 파일을 읽을때는 엑셀과 약간 다릅니다
엑셀은 read_excel() csv파일은 read.csv()
<go />
df_csv_exam <- read.csv("csv_exam.csv")
df_csv_exam

데이터 프레임 생성시 만약 문자형이 있다면 자동으로 Factor(범주형)으로 인식을 하는데
read.csv("csv_exam.csv",stringsAsFactors= F) 를 넣어주게 되면 Character로 입력이 가능하다.
만약 csv 파일을 생성할려고 한다면 read와 반대로 write.csv(데이터프레임,'csv파일명')으로 생성이 가능하다.
# 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
위와 같은 형식의 데이터 프레임을 만들고 csv 파일로 저장하려고 한다면
<go />
df <- data.frame(id=c(1,2,3,4), class =c(1,2,3,4) , math = c(50,60,45,30) , english = c(98,97,86,98) , science = c(50,60,78,58)) #이렇게 데이터 프레임을 생성해 주고
df_csv <- write.csv(df,'df_csv.csv') # write.csv를 통해 df를 df_csv.csv 파일로 만들고 df_csv이름으로 데이터프레임을 생성
df_csv <- read.csv('df_csv.csv') # df_csv.csv 파일을 읽어서 df_csv 에 넣는다
2번째 3번째 라인에 df_csv <- 이것처럼 필요하지 않다면 굳이 새로 생성하지 않아도 된다.
write.csv 명령어 시

파일이 생성된것을 확인할수 있고
read.csv 명령어 시

정상적으로 읽는것을 확인할수 있다.
R에서는 데이터프레임 객체를 파일로도 저장할때 많이 쓰이는 형식은 csv 와 rda 이다
[R] 데이터를 CSV와 RDA 파일로 저장
R에서 데이터를 여러 파일로 저장할 수 있다. 가장 많이 쓰이는 파일 형식은 CSV와 RDA일 것이다. CSV는 comma separated values의 약자로 말 그대로 데이터 값들이 comma (,)로 나누어진 파일이다. 이 파일의
siren99.tistory.com
간략하면서도 필요한 내용은 적혀있는거 같아서 가져와보았다.
일단 rda 파일로 저장하는 법은
<go />
# save(객체,파일명)
# 즉
save(df,file='df_file.rda')
rda 파일의 특징은 파일을 load('df_file.rda') 시 자동으로 객체가 생성된다
만약 객체가 필요가 없다면 rm(df) 이런식으로 삭제를 해줍니다.
'IT 기술 > R' 카테고리의 다른 글
R언어 공부 정리 [6] (0) | 2021.01.22 |
---|---|
R언어 공부 정리 [5] (0) | 2021.01.21 |
R언어 공부 정리 [4] (2) | 2021.01.20 |
R 언어 공부 정리 [3] (1) | 2021.01.19 |
분석 , 통계시 유용한 R 언어 설치와 기본 공부 정리 (0) | 2021.01.15 |