在R语言进行数据分析和数据挖掘的时候,我们首先要做的,就是要寻找相关的数据,然后找到相关的算法和模型对此进行分析和挖掘,并把它转化为最终结果。而这里,我将要介绍几种方法来实现数据的导入和导出。
1.6.1从键盘上输入数据导入数据,我们最容易想到的就是直接在R内用键盘输入数据,相关操作如下:
mydataf-data.fram(ag=numric(0),gndr=charactr(0),
hight=numric(0),wight=numric(0))
mydataf-dit(mydataf)
这里,使用dit()函数后,我们马上进入这个界面进行,在里面,我们既可以对这个空数据集输入相关数据,同时也可以对已经存在的数据集进行修改。输入完毕以后,我们直接点-,这样,我们的数据框编辑完毕。接下来,我们再看一下mydataf这个数据集:
可以看到,我们之前输入的数据已经赋值到mydataf了。
1.6.2利用rad.tabl()函数导入数据在R中,我们也常常需要从已有的数据文件导入数据。rad.tabl()函数经常用于读取txt.格式文件里的数据。不过,在操作之前,我还是先调用一下帮助文档给大家看看:
rad.tabl()
这里,你可以在Excl文件或记事本文件里创建一个数据框,导入的时候,也是按照数据框的格式导入的。接下来,我就给大家演示一下如何用rad.tabl()导入数据。
tf-tmpfil()
tst1-c(1:10,11,12,1,1,15)
writLins(tst1,tf)
rad.tabl(tf,fill=TRUE)
首先,我使用tmpfil()创建一个新的文件,然后我用tst1把要输入的数据存进来;接下来,我用writLins()函数把tst1里面的数据写到tf文件当中,最后,再用rad.tabl()把这个文件调用起来。这样,我们就成功的用rad.tabl()把.txt文件里的数据导入进来了。当然,我们也可以从已有的记事本里导入相关的数据,具体操作和实例如下:
rad.tabl(E:\\mmm.txt,hadr=FALSE)
显然,我们从记事本导入的数据集被转换成了数据框的格式。当然,有关rad.tabl()的其它操作大家就自行看一下帮助文档就好了。
1.6.从Excl中导入数据我相信Excl对于大家来说都已经再熟悉不过了。对曾记得所有非计算机专业的学生们都得学计算机基础这门课程,而且据说挂科了下场是挺惨的。在这门课当中,我相信Excl老师肯定会重点讲解。其实,无论是计算机专业的学生,还是非计算机专业的学生,都需要学好Excl,毕竟,Excl在我们的实际生活中运用实在太广泛了,从普通的办公室的职员、高层管理,再或者是像小编这种学习数据挖掘的学生或者是数据科学行业的从业者们,都能看到Excl存在的身影;而且,如果你有打算学习SPSS的话,把Excl的基础打扎实则是非常的重要,毕竟,SPSS很多功能和Excl相似,只不过处理数据量更大、更能更强大、在数据科学领域的用途更广而已。其实,在R语言当中,从Excl文件导入数据和从网页中导入数据是最常用的两种导入数据的方式(后面,你很有可能会接触到数据库、Spark、Hadoop,它们也的用途也很广泛)。所以,这部分的内容,我就向大家介绍一下R语言是怎样从Excl导入数据的。首先,我们之前已经调用了rad.tabl()的帮助文档,里面详细介绍了rad.tabl()的各种操作和解释。不过,只要你稍微留心观察一下那个帮助文档,你很快就能发现它还介绍了各种rad.csv()的操作;也就是说,它也详细介绍了如何从Excl中导入数据。现在,我们使用rad.csv()函数来实现从Excl中导入数据(其中,以pop1Excl文件为例):
rad.csv(E:\\pop1.csv)
这是整个数据集的其中一部分,要想了解pop1数据集的详细信息,我们可以调用str()函数和summary()函数来看看:
str(pop1)
summary(pop1)
这里,我们看到pop1数据集有个变量,分别是id、sx和hight,其中,id和hight都属于整型,sx则属于因子型。再看看summary()函数汇总出来的结果,我们看到整个数据集一共有个变量,其中,FEMALE的数量为,而MALE的数量则为。再看看hight,我们看到它的最值分别为最小值和最大值,平均身高和中位数分别为,它的两个四分位数分别为和。就这样,我们就成功的把一个Excl数据集导入到R中。当然,把Excl的数据导入到R的方法很多种,而接下来的这种,则是直接点击相关的按钮进行操作。我们看到Rstudio的界面,我们看到这个按钮,点击一下它,弹出了如下的界面:
这里,我们既可以导入本地文件数据,也可以导入网页数据,现在,我们点击第一个,然后再根据你的需求点击相应的文件导入数据,下面是我自己列举的一个实例:
现在,我把第一行的数据打开,弹出如下界面:
最后点击import按钮即可。完了以后,数据导入成功,而下面的图则是我导入magnts数据文件的结果:当然,后面还有很多很多列,我这里就不展示出来了。
当然,还有第三种方法,就是调用xlsx包来调入xlsx类型的Excl文件的数据。这里,由于之前调试很多次都无法把现有xlsx类型文件导入到R中,所以,这次所列举的实例,是自己在R里创建一个xlsx类型文件导入到R中的,以此讲解xlsx包的使用。下面,我们先看看我自己所创建的实例:
lif-data.fram(
X1=c(2.5,17,,10,,,1.,2,0,6.6,
21.,2.8,2.5,6,.5,62.2,10.8,21.6,2,.,
5.1,2.,1.7,1.1,12.8,1.2,.5,9.7,62.,2.,
.7,28.,0.9,0.6,5.8,6.1,2.7,.7,,5,
2,8.5,2,2,.,2.8,,5.1,2,1.),
X2=rp(c(0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,
0,2,0,2,0,2,0),
c(1,,2,2,1,1,8,1,5,1,5,1,1,1,2,1,
1,1,,1,2,1,)),
X=rp(c(0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1),
c(6,1,,1,,1,1,5,1,,7,1,1,,1,1,2,9)),
Y=rp(c(0,1,0,1),c(15,10,15,10))
)
f-past(tmpdir(),/lif.xlsx,sp=)
writ.xlsx(lif,fil=f)
rad.xlsx(f,1)
于是,我们得到以下的结果:
这个数据集有50行的数据,这里,我只列举前面的10行。从上图,我们已经成功的把xlsx类型文件里的数据导入到R了,具体情况我们可以str()和summary()一下:
a-rad.xlsx(f,1)
str(a)
summary(a)
具体的情况你们就自行理解好了。当然,如果对上述函数有什么疑问,你们都可以调用帮助文档来获得更多相关信息。
1.6.从网页中抓取相关数据网页抓取数据也是R中非常常用的,尤其是我们要做股票分析和预测的时候也是非常需要网页数据抓取相关公司的股票的走势情况。不过,R语言实战这本书介绍这部分的内容也相对比较少,所以,我直接直入正题。网页数据抓取当中,我们可以使用RCurl包的gtURL()函数即可。下面,我就直接列举一个实例:library(“RCurl”)x-gtURL(“