banner
大数据平台>大数据技术与应用>R语言获取和存储数据

用R语言进行数据分析:获取和存储数据

作者: afenxi来源: afenxi时间:2017-05-23 16:47:57

用R语言进行数据分析:获取和存储数据-数据分析网

① 如果只有很少的数据量,你可以直接用变量赋值输入数据。若要用交互方式则可以使用readline()函数输入单个数据,但要注意其默认输入格为字符型。scan()函数中如果不加参数则也可以用来手动输入数据。如果加上文件名则是从文件中读取数据。

② 读取表格文件 读取本地表格文件的主要函数是read.table(),其中的file参数设定了文件路径,注意路径中斜杠的正确用法(如”C:/data/sample.txt”),header参数设定是否带有表头。sep参数设定了列之间的间隔方式。该函数读取数据后将存为data.frame格式,而且所有的字符将被转为因子格式,如果你不想这么做需要记得将参数stringsAsFactors设为FALSE。与之类似的函数是read.csv()专门用来读取csv格式。 如果是想抓去网页上的某个表格,那么可以使用XML包中的readHTMLTable()函数。例如我们想获得google统计的访问最多的1000名网站数据,则可以象下面这样做。关于这个函数可以参考这篇博文。 url <- ‘http://www.google.com/adplanner/static/top1000/’ data <- readHTMLTable(url) names(data) head(data[[2]]) ③ 读取文本文件 有时候需要读取的数据存放在非结构化的文本文件中,例如电子邮件数据或微博数据。这种情况下只能依靠readLines()函数,将文档转为以行为单位存放的list格式。例如我们希望读取wikipedia的主页html文件的前十行。 data <- readLines(http://en.wikipedia.org/wiki/Main_Page,n=10) 另外,scan()也有丰富的参数用来读取非结构化文档。

④ 批量读取本地文件 在批量读取文档时一般先将其存放在某一个目录下。先用dir()函数获取目录中的文件名,然后用paste()将路径合成,最后用循环或向量化方法处理文档。例如: doc.names <- dir("path") doc.path <- sapply(doc.names,function(names) paste(path,names,sep=/)) doc <- sapply(doc.path, function(doc) readLines(doc))

2.2、数据的存储 创建数据框d

>d <- data.frame(obs = c(1, 2, 3), treat = c("A", "B", "A"), weight = c(2.3, NA, 9))

① 保存为简单文本

>write.table(d, file = "c:/data/foo.txt", row.names = F, quote = F) # 空格分隔

>write.table(d, file = "c:/data/foo.txt", row.names = F, quote = F, sep=" ") # tab 分隔的文件

② 保存为逗号分割文本

>write.csv(d, file = "c:/data/foo.csv", row.names = F, quote = F)

③ 保存为R格式文件

>save(d, file = "c:/data/foo.Rdata")

④ 保存工作空间镜像

>save.image( ) = save(list =ls(all=TRUE), file=".RData")

原创文章,作者:米巅,如若转载,请注明出处:《用R语言进行数据分析:获取和存储数据》http://www.afenxi.com/post/2235

banner
看过还想看
可能还想看
最新文章
Yonghong Z-Suite一站式大数据分析平台 —— 以卓越的数据技术为客户创造价值,实现客户成功。