R 기초강의(22) - R 정형데이터 처리
R 강좌는 여러 절로 구성되어 있습니다.
- R 기초강의(1) - R 개요
- R 기초강의(2) - R Operator
- R 기초강의(3) - R Data Type
- R 기초강의(4) - R 패키지와 함수
- R 기초강의(5) - R 자료구조(vector)
- R 기초강의(6) - R 자료구조(matrix)
- R 기초강의(7) - R 자료구조(factor, list)
- R 기초강의(8) - R 자료구조(data frame)
- R 기초강의(9) - R 문자열 처리
- R 기초강의(10) - R 데이터 입출력
- R 기초강의(11) - R 제어문 및 함수
- R 기초강의(12) - R 기초 Exercise
- R 기초강의(13) - R Crawling
- R 기초강의(14) - R 데이터 조작
- R 기초강의(15) - R 데이터 조작 실습
- R 기초강의(16) - R 데이터 정제
- R 기초강의(17) - R 기초 통계 함수
- R 기초강의(18) - R Graph
- R 기초강의(19) - R KoNLP
- R 기초강의(20) - R 연습문제
- R 기초강의(21) - R ggmap
- R 기초강의(22) - R 정형데이터 처리
R 정형데이터 처리
R을 이용하여 분석할 수 있는 데이터의 형태는 정형화 정도에 따라 크게 3가지로 분류할 수 있습니다.
정형 데이터
: 고정된 필드에 저장된 데이터를 의미합니다. 주로 Database에 저장된
데이터를 지칭합니다.
반정형 데이터
: 태그를 포함하는 웹문서(HTML,XML)를 의미합니다.
비정형 데이터
: 고정된 필드에 저장되어 있지 않은 데이터(일반 텍스트)를 의미합니다.
이번에는 DBMS를 이용하여 Database안에 저장된 정형 데이터를 R에서 처리하는 과정을 살펴보겠습니다. 사용하는 예제는 기존에 MySQL에 구축한 도서 데이터를 이용하겠습니다.
# 정형 데이터 처리
# MySQL Database 처리
# 기존의 MySQL DBMS server를 기동하자
# mysqld
# R에서 MySQL DBMS에 연동하기 위해서는 몇가지 package가 필요
install.packages("rJava") # Java 기능을 이용
install.packages("DBI") # R Database Interface
install.packages("RJDBC") # JDBC 기능을 위한 package
library(rJava)
library(DBI)
library(RJDBC)
# JRE 경로 설정
Sys.setenv(JAVA_HOME="C:/Program Files/Java/jre1.8.0_221")
# 드라이버 설정
drv = JDBC(driverClass = "com.mysql.jdbc.Driver",
classPath = "C:/R_workspace/R_Lecture/mysql-connector-java-5.1.7-bin.jar")
# Database 연결
conn <- dbConnect(drv,
"jdbc:mysql://localhost:3306/library",
"data",
"data")
# Query 실행
sql = "select btitle from book"
bookTitle <- dbGetQuery(conn, sql)
head(bookTitle)
sql = "select btitle,bprice from book"
books <- dbGetQuery(conn, sql)
head(books)
sql = "select btitle,bprice from book where bprice > 30000"
books <- dbGetQuery(conn, sql)
head(books)
library(stringr)
sql = str_c("select btitle,bprice ",
"from book ",
"where bprice > 30000 ",
"order by bprice desc")
books <- dbGetQuery(conn, sql)
head(books)
# 데이터베이스 연결 종료
dbDisconnect(conn)
End.
이 포스트의 내용은 아래의 책과 사이트를 참조했습니다. 조금 더 자세한 사항을 알고 싶으시면 책을 참조하거나 해당 사이트를 방문하세요!!