您的位置:首页 > 其它

R读取数据

2016-07-26 09:36 501 查看
一、文本格式

1、csv文本格式(即逗号分隔文件):

> data<-read.csv("D:\\work\\data\\1.csv",header = F)

#说明:header = T(TURE)是默认状态,有标题栏,可修改为F(FALSE)。

2、txt文本格式:

> data<-read.table("D:\\work\\data\\1.txt",quote=F,header = T)

#说明:quote=F表示引号不读取。

3、读取剪贴板中数据:

> data <- read.table("clipboard", header = T, sep = '\t')

#说明:sep="\t" 表示以tab(制表符)为分隔符。

> mydata <- read.delim("clipboard")

#说明:复制excel表格时使用。

#说明:encoding='utf-8'可能可以解决读取中文乱码的问题。

二、excel文件:

1、程序包RODBC

> library(RODBC)

> z <- odbcConnectExcel("c:/data/body.xls")

> foo <- sqlFetch(z, "Sheet1")

> close(z)

#说明:64位系统不能正确使用,可能是由于excel所用access不是64位的和缺少相应的java环境,连接不上。

2、程序包XLconnect

>install.packages('XLConnect')

>library(XLConnect)

>xls <- loadWorkbook('d:/数据分析/R/4.xlsx')

>readWorksheet(xls, '统计表')

#说明:建立连接时,必须输入文件的绝对路径

3、程序包xlsx

>library(xlsx)

>read.xls("body.xlsx",sheetName="nba",header=T)

#说明:注意文件路径、编码等问题。

4、程序包readxl

>install.packages("readxl")

>read_excel("my-spreadsheet.xls", sheet="data")

#说明:sheet="data"或者sheet=2(位置)。

5、程序到openxlsx

>install.packages("openxlsx", dependencies=TRUE)

>readWorkbook(xlsxFile, sheet = 1, startRow = 1, colNames = TRUE,

   rowNames = FALSE, detectDates = FALSE, skipEmptyRows = TRUE,

   skipEmptyCols = TRUE, rows = NULL, cols = NULL, check.names = FALSE,

   namedRegion = NULL, na.strings = "NA", fillMergedCells = FALSE)

#说明:对大的数据量效果好。

三、不规则文本格式读取:

1、编码:非-ASCII字符字段,要确保以正确的编码方式读取。encoding="latin1/utf-8"。

2、首行:header = TRUE/T。

3、分隔符: sep = "\t"(\t为制表符分割),也可以是其他任何符号,等。

4、缺失值:NA表示缺失,na.strings表示字符串,NaN,Inf和-Inf表示数值列。

5、忽略尾部空字段: fill = TRUE。

6、忽略中间空字段:blank.lines.skip = FALSE,fill = TRUE。

7、变量类型:as.is 会抑制字符向量转换成因子(仅此功能);colClasses运行为输入中的每个列(非每个变量),对标签列同样适用。

8、注释:注释符#后该行会被忽略,当作空白行。要读取可用comment.char = ""(读取速度也会加快)。

9、"\"终止字符。

10、读大的数据格子(data grid)时,效率最重要。设定 comment.char = "",以原子向量类型(逻辑型,整型,数值型,复数型,字符型或原味型)设置每列的colClasses ,给定需要读入的行数 nrows (适当地高估一点比不设置这个参数好)等措施会提高效率。

11、参数列表:file,header,sep,quote,dec,row.names,col.names,as.is,na.strings,colClasses,nrows,skip,check.names

fill,strip.white,blank.lines.skip,comment.char。

四、读取spss(sav)/sas(xport/ssd)数据:

1、程序包foreign

>install.packages("foreign")  

>library(foreign)  

>tempdata=read.spss("dataname.sav")  

#说明:文件名不能超过8个字符,变量名长于8字符会被截断。

2、程序包Hmisc

>install.packages("Hmisc")  

>library(Hmisc)  

>tempdata=spss.get("dataname.sav")  

3、程序包memisc

>install.packages("memisc")  

>library(memisc)  

>tempdata0<-as.data.set(spss.system.file("D:/dataname.sav"))

>tempdata<-as.data.frame(tempdata0)

#说明:程序包foreign与Hmisc对SPSS格式兼容不太好,尤其是变量名有中文或不规则字符串时。

4、新程序包sas7bdat.parso

五、学习资料及程序包地址:

1、R官方地址:http://www.r-project.org/

2、R开发者论坛:http://r.789695.n4.nabble.com/

3、CRAN:http://cran.rstudio.com/

4、RForge:https://r-forge.r-project.org/

六、R的演进及功能块:

1、RevolutionAnalytics公司的RHadoop产品,让R可以直接调用Hadoop集群资源

2、RStudio公司的RStudio产品,给了我们对于编辑软件新的认识

3、RMySQL, ROracle, RJDBC 打通了R和数据库访问通道

4、rmongodb, rredis, RHive, rhbase, RCassandra 打通过R和NoSQL的访问通道

5、Rmpi, snow 打通了单机多核并行计算的通道

6、Rserve,rwebsocket 打通了R语言的跨平台通信的通道

7、R不仅是学术界的语言,更将成为工业界必备的语言。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  csv 数据