通过R连接数据源

基于R,仅供自食。

相信自己,每天多学一点。


一、读取文本文件
一般采用read.table()函数和read.csv()函数实现文本文件数据的读取
对于这两个函数有几个重要的参数:
file指定外部文件的路径和文件名;
header指定是否将原数据的第一行最为字段名,
read.table()函数默认设置为FALSE,而read.csv()函数默认设置为TRUE;
sep指定字段之间的分割符,read.table()函数默认设置为空格"",而read.csv()函数默认设置为逗号,;

read.table()函数还可以设置读入数据集的行名、列名、字符串是否转换为因子、缺失值的形式等,详细可查看read.table()函数的帮助文档。



二、读取电子表格
工作中也有很多数据是存放在EXCEL中的,
对于这类数据的读取一般有两种方法,要么将xls或xlsx格式的数据转换为csv,用read.csv()函数读取;
要么直接使用xlsx软件包中的read.xlsx()函数直接读取电子表格数据。
例子:
library(xlsx)

data <- read.xlsx(file = file.choose(), sheetIndex = 1)

还有一个包readxl,这个很方便

data    <- read_excel(file.choose())


三、读取数据库数据
读取数据库数据应该是日常工作中最频繁的,
常用的数据库有SQL Server、MySQL和Oracle等数据库,
以下为SQL Server数据库数据为例。
配置:
使用RODBC包可以方便快捷的读取SQL Server数据库,
但在读取之前需要对计算机的数据源进行配置,
过程如下:
控制面板-->管理工具-->数据源(ODBC)-->添加-->选择对应的数据库驱动-->点击完成并填写数据源名称、服务器等信息。


#加载RODBC包
library(RODBC)
#建立连接
connect <- odbcConnect(dsn = 'test',uid = "", pwd = "")
#读取数据
my.data <- sqlQuery(channel = connect, query = 'select * from quantile')
head(my.data)


#也可以将现有的数据集反写到数据库中
sqlSave(channel = connect, dat = iris, tablename = 'iris', rownames = FALSE, append = TRUE)

close(connect)



猜你喜欢

转载自blog.csdn.net/nicky_1218/article/details/80086886