R语言读取大数据-创新互联

普通情况下使用scan读取数据

目前创新互联公司已为超过千家的企业提供了网站建设、域名、网页空间、网站托管、企业网站设计、川汇网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
x <- scan("D:\\test.txt")

按列读入,指定数据类型

x <- scan("test2dat.txt", what=list("",0,0))  #读取三列数据,第一列是字符,第二和第三列是数值
#以下写法也可以
x2 <- scan("test2dat.txt", list(name="", num1=0,num2=0)) # 每个list都有个名字,分别为name,num1,num2

可以指定读取的行数,以下为读取以逗号分割的csv文件的读取方法

mydata <- read.table("test_nrow.txt.txt",sep=",", header=TRUE,nrow=5)  #读取除了表头之外的5行数据

参考: http://www.biostat.jhsph.edu/~rpeng/docs/R-large-tables.html

tab5rows <- read.table("datatable.txt", header = TRUE, nrows = 5)
classes <- sapply(tab5rows, class)
tabAll <- read.table("datatable.txt", header = TRUE, colClasses = classes)

也可以用data.table 读取大数据

install.packages("data.table")
library(data.table)
mydata <- fread("test.table.txt")    #读取文件时会显示 Read **.*% of ***** rows, 读取完毕会有提示
#查看文件的前6行
head(mydata)

参考:http://www.r-bloggers.com/reading-large-data-tables-in-r/

也可以使用ff包

setwd("D:/data test")
library(ff)
ffdf1 <- read.table.ffdf(file = "test.ido", header = TRUE,  sep = "|")

参考: http://stackoverflow.com/questions/11782084/reading-in-large-text-files-in-r

http://www.bytemining.com/wp-content/uploads/2010/08/r_hpc_II.pdf

使用Python打开大数据的话,采用mmap

参考: http://stackoverflow.com/questions/11159077/python-load-2gb-of-text-file-to-memory

http://davetang.org/muse/2013/09/03/handling-big-data-in-r/

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:R语言读取大数据-创新互联
文章地址:http://pwwzsj.com/article/dddjje.html