R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
列表
State.center就是一个典型的列表,是美国每个周的经纬度,可以使用list()函数来创建列表:
这样就生成了一个列表,我们也可以为每个变量添加一个名称,例如:
列表中的元素不存在顺序,使用名称就可以访问数据,下面介绍一下数据列表的访问
第一种方法是可以使用索引的方式进行访问
第二种方法是可以使用名字来进行访问
另外,列表比之后的数据框多了一种$的访问方式:
对于列表还有一种双中括号的访问方式:
两者的差别在于,一个中括号其实输出的是列表的一个子集,它其实还是一个列表,因为如果一个访问多个元素,这些元素的数据类型又不同,那么输出结果只能是列表,当我们使用两个中括号进行输出,那么就是输出数据本身的类型,可以使用class()函数来测试一下
两个中括号每次只能访问一个元素,如果要像列表中添加元素,可以使用双中括号进行添加:
如果想删除列表中的元素可以使用负索引的方式,然后再赋值给原来的列表:
或者是使用Null来赋值
数据框
数据框是一种表格式的数据结构,数据框子在模拟数据集,与其他统计软件例如SAS或者SPSS中的数据集的概念一致,数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量,不同的行业对于数据集的行和列叫法不同。
数据框实际上是一个列表,列表中的元素是向量,这些向量构成数据框的列,每一列必须具有相同的长度,所以数据框市矩形结构,而且数据框的列必须命名。
矩阵和数据框的不同,矩阵必须是同一数据类型,数据框每一列必须为同一类型,每一行可以不同
数据框可以通过data.frame()函数进行创建
数据框的访问:
直接使用索引
直接使用名称进行索引
可以使用attach()将数据集存进R的内存,这样就便于访问
attach()=dollar符+框名
使用完之后可以使用detach()函数取消加载。
数据框也可以使用双中括号的方式进行访问,返回的是向量而不是列表。
因子
在R中变量可以分为名义型变量、有序型变量、连续型变量,名义型变量没有顺序的区别,有序型变量介于二者之间,不同值之间有顺序关系。
在R中,名义型变量和有序型变量被称为因子,factor,这些分类变量的可能只被称为一个水平,level,例如good、better、best,都被称为一个level,由这些水平值构成的向量就称为因子。在很多会吐函数中,输入的数据也必须是因子类型。
例如mtcars数据集,cyl这一列可以作为因子,而4、6、8就是这一列因子的水平:
那么如何来定义一个因子数据呢?
可以使用factor函数:
我们还可以在定义因子的时候人为指定level的水平:
还可以使用factor()函数将向量转变成因子:
R中有一个cut()函数,可以将连续型变量x分割成连续水平的因子: