失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > rstudio中读取数据_R语言数据分析(2)——数据读入与写入

rstudio中读取数据_R语言数据分析(2)——数据读入与写入

时间:2021-04-22 15:26:15

相关推荐

rstudio中读取数据_R语言数据分析(2)——数据读入与写入

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

直接编辑

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

data1

fix(data1)

这里的fix函数是打开表格,你就可以直接输入数据,打开的操作界面如下:

然后我们在第二行第一列直接输入一个数据3,然后点击关闭

然后再打开,可以看到数据3已经在里面了:

还有另一个很类似的是edit,这个是编辑变量的名称和类型

粘贴板中读入

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

data2

head(data2)

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

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

外部文件

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

csv

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

csv格式的读入很简单,如

data3

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

txt

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

data3

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)

主要参数的意思如下:

xlsx

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

library(xlsx)

data4

sheetIndex用来选择读取的sheet表格

数据库

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

library(RMySQL)

mycon

#连接数据库,注意这里是连接到特定的库

dbListTables(mycon) #看看这个库有什么表

res

data

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

数据输出

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

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

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

如果觉得《rstudio中读取数据_R语言数据分析(2)——数据读入与写入》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。