3.用R获取数据

#####3 用R获取数据#####

#####3.1 获取内置数据集#####

#####3.1.1 datasets数据集#####
data(package = "datasets") #获取datasets中所有数据集
?AirPassengers #获取AirPassengers数据集的帮助文档
#当我们选定要使用该数据集时,仅需要使用data()函数,即可调用得到目标数据集

#####3.1.2 包的数据集#####
data(package = .packages(all.available = TRUE)) #获取R中所有数据集列表
#各个数据集按照其所属软件包被一一列式出来
install.packages("arules")
library(arules)
data("Groceries")

#####3.2 获取其他格式的数据#####

#1. 读取CSV格式
setwd("E://books//数据挖掘 R语言实战") #设置默认路径为E:/books/数据挖掘 R语言实战
write.csv(Insurance,"Insurance.csv")   #将Insurance数据集以csv格式存入指定路径
Insur_csv=read.csv("Insurance.csv")    #使用read.csv()函数直接读取
head(Insur_csv)

Insur_csv1=read.table("Insurance.csv") #使用read.table()函数读取数据
head(Insur_csv1)

Insur_csv2=read.table("Insurance.csv",header=TRUE,sep=",") #更改函数设置
head(Insur_csv2)

#2. 读取TXT格式
write.table(Insurance,"Insurance.txt") #将Insurance数据集以txt格式存入指定路径
Insur_txt=read.table("Insurance.txt")  #使用read.table()函数直接读取
head(Insur_txt)

Insur_txt1=read.csv("Insurance.txt",header=TRUE,sep="") 
head(Insur_txt1)

#3. 从Excel直接获取数据
install.packages("RODBC")
library(RODBC)   
channel=odbcConnectExcel(file.choose()) #选择要读取的Excel文件Insurance.xls,并保存连接
channel #显示连接信息
sqlTables(channel)  #列式出从ODBC中连接到的表格
Insur=sqlFetch(channel,"Sheet1")
odbcClose(channel) #关闭连接
head(Inser)

#4. 从SPSS中获取数据
library(foreign)
DRINK_spss=read.spss(file="DRINK.sav")
DRINK_spss
DRINK_spss=read.spss(file="DRINK.sav",to.data.frame=TRUE) #修改参数度DRINK
head(DRINK_spss1)

library(Hmisc)
DRINK_spss2=spss.get("DRINK.sav")
head(DRINK_spss2)

#5. 从SAS、Minitab、STSTAT、SYSTAT中获取数据
#SAS    read.ssd(libname,sectionnames,tmpXport=tempfile(),tmpProgLoc=tempfile(),sascmd="sas")
#Minitab read.mtp(file)
#STATA  read.dta(file,convert.dates=TRUE,convert.factors=TRUE,missing.type=FALSE,convert.underscore=FALSE,warn.missing.lables=TRUE)
#SYSTAT read.systat(file,todata.frame=TRUE)

#####3.3获取数据库的数据#####
#主要通过开放式数据库连接(ODBC)来实现R与各数据库的连接。
library(RODBC)

#odbcConnect(dsn, uid="", pwd="")   建立并打开连接
#sqlFetch(channel,sqtable)          从数据库中读取数据表,并返回一个数据框对象
#sqlQuery(channel,query)            向数据库提交一个查询,并返回结果
#sqlSave(channel,mtdf,tablename=sqtable,append=FALSE) 将一个数据框写入或更新(append=True)到数据库
#sqlDrop(channel,sqtable)           从数据库中删除一个表
#sqlClear(channel,sqtable)          删除表中的内容
#sqlTables(channel)                 返回数据库中表的信息
#sqlColumns(channel,sqtable)        返回数据库表sqtable列的信息
#close(channel)                     关闭连接

odbcDataSources()  #查看可用数据源
connet=odbcConnect("SQLServer ",uid="forR",pwd="123456") #建立连接
RShowDoc("RODBC", package="RODBC") #获取RODBC软件包学习文档

#####3.4 获取网页数据#####
install.packages("XML")
library(XML)
ul="http://stockdata.stock.hexun.com/2008en/zxcwzb.aspx?stockid=000002&type=1&data =2013.06.30"
tables1 = readHTMLTable(ul) #将数据读取结果存入变量
names(tables1) #显示tables1各维度名称
tables1[[2]] #读取tables1第2维度中的内容
tables1[[3]] #读取tables1第3维度中的内容



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值