R语言数据分析(2)——数据读入与写入

R语言 Haran 7年前 (2017-12-01) 7886次浏览 0个评论

这一节介绍数据的读入和写入,要在R中做数据分析,首先需要将相关的数据读入,读入的方法多种多样,即使同一个文件,加载不同的包都有不同的读入方法,这里介绍一些比较常见的。

直接编辑

可以通过直接输入的方式输入数据,编辑的对象是数据框,如:

data1<-data.frame(1,2,2)
fix(data1)

这里的fix函数是打开表格,你就可以直接输入数据,打开的操作界面如下:
R语言数据分析(2)——数据读入与写入
然后我们在第二行第一列直接输入一个数据3,然后点击关闭
R语言数据分析(2)——数据读入与写入
然后再打开,可以看到数据3已经在里面了:
R语言数据分析(2)——数据读入与写入
还有另一个很类似的是edit,这个是编辑变量的名称和类型

粘贴板中读入

这个是表示已经将数据复制了,这时候是存储在内存里面,通过read.table中clipboard读入的,例如你复制了一个excel表格数据,然后运行如下代码:

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

然后你在用head(data2)看一下数据的格式有没问题,现在Rstudio已经能够完美支持中文的了,三四年前读入中文还是乱码的。

read.table的功能很强大,具体在后面再详细介绍。

外部文件

前面两种能读入的数据量级和效率是比较糟糕的,通常在分析的时候是读入外部文件和直接连接数据库去处理数据,下面介绍读入外部文件的,对于数据的外部文件格式有很多,下面只介绍比较常用的几种。

csv

这个一种很常见的数据文件格式,很多API导出都会通过这种格式保存,或是部分人在处理数据的时候,会现在excel做数据的清理工作,然后保存为csv,再通过分析工具读入去做分析建模工作。
csv格式的读入很简单,如

data3<-read.csv("D:\\data\\1.csv",header = T)

这里需要特别注意,在window下面用R的,所以路径数\\。Linux下我没用过,所以不知道。

txt

txt的文件也是用read.csv,如

data3<-read.table("D:\\data\\1.txt",header = F)

read.table除了前面出现的header和sep参数外,还有其他很多的参数,这些参数可以帮助你准确导入你想要的数据,read.table使用格式是这样的:

read.table(file, header = FALSE, sep ="", quote = "\"'",
dec = ".", row.names,col.names,
as.is = !stringsAsFactors,
na.strings = "NA", colClasses = NA, nrows= -1,
skip = 0, check.names = TRUE, fill =!blank.lines.skip,
strip.white = FALSE, blank.lines.skip =TRUE,
comment.char = "#",
allowEscapes = FALSE, flush =FALSE,
stringsAsFactors =default.stringsAsFactors(),
fileEncoding = "", encoding = "unknown",text)

主要参数的意思如下:
R语言数据分析(2)——数据读入与写入

xlsx

读入xlsx需要下加载xlsx包,如果没有这个包的请自行安装,这个包的使用会依赖rJava和xlsxjars,所以这两个也是要安装的,还要有java的环境,用法如:

library(xlsx)
data4<-read.xlsx("D:\\data\\file.xlsx",sheetIndex=1,header=TRUE)

sheetIndex用来选择读取的sheet表格

数据库

在这里以连接MySQL为例子,我用的报R包是RMysQL,这个包使用比较方便,不用做其他设置,如果你用RODBC,那么你还需要做数据源配置,比较麻烦,RMySQL的用法是:

library(RMySQL)
mycon<-dbConnect(MySQL(),dbname="world",username="root",password="123456",host="127.0.0.1",port=3306)
#连接数据库,注意这里是连接到特定的库
dbListTables(mycon) #看看这个库有什么表
res<-dbSendQuery(mycon, "SELECT *FROM city")  #查询出数据
data <-dbFetch(res) #加载到数据框

这要数据就加载到数据框了。

数据输出

文件保存方面,我一般是将数据保存为csv,特别是在运营分析,项目分析中,这些分析周期是比较短的,如果开发一个BI的功能,显然是没有必要的,但是短期又需要定期做一些数据处理工作,分析数据情况,这时候R是个不错的选择,点击运行,然后就坐等结果出来了,保存数据的用法如:

write.csv(data,file="D:/shibai0711.csv")

下一节介绍常用的数据切片操作


如有疑问,可以在文章底部留言或邮件(haran.huang@ichdata.com) 我~
喜欢 (6)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址