R语言连接数据库,通过数据库存放数据,使用R语言来调用数据。
一方面便于数据的管理,另一方面也便于数据计算流程的复用等
代码示例
library(RMySQL)
# 连接数据库
MySQLCon <- dbConnect(RMySQL::MySQL(), dbname = 'jdata',host='localhost',
user='***', password='***', charset='GBK')
summary(MySQLCon )
# 查找数据
tablesname <- dbListTables(MySQLCon )
# 对表进行查看
querytablename <- tablesname[3]
SQLcommand <- paste("select count(*) from ",querytablename ,seq='')
countNum <- dbGetQuery(MySQLCon , SQLcommand )
paste(querytablename ,' total ',countNum ,seq='')
#方式一:通过SQL的特性查看 表的字段进行查看
fieldTableSQL <- paste("show full columns from ",querytablename ,';',seq='')
fieldsum <- dbGetQuery(MySQLCon , fieldTableSQL )
fieldname <- fieldsum['Field'][2,1]
filSQL <- paste( "select" ,fieldname, ", count(distinct user_id) from", querytablename ," group by", fieldname,';')
plotData <- dbGetQuery(MySQLCon , filSQL )
# 方式二,通过Dataframe的情况处理
fieldall <- dbGetQuery(MySQLCon , paste( 'select * from ', querytablename,sep='' ))
head(fieldall )
# 数据探索-最值
max(fieldall[,1])
max(as.numeric(fieldall[,1]))
min( fieldall[,1])
## 数据探索-缺失值
which(is.na(fieldall$'user_id'))
which(is.na(fieldall$'age'))
which(is.na(fieldall$'sex'))
which(is.na(fieldall$'user_lv_cd'))
## 分组等数据探索操作
# 关闭数据库连接
dbDisconnect(MySQLCon )