/ R

R 기초강의(22) - R 정형데이터 처리

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.


이 포스트의 내용은 아래의 책과 사이트를 참조했습니다. 조금 더 자세한 사항을 알고 싶으시면 책을 참조하거나 해당 사이트를 방문하세요!!