R语言中的向量化操作

Python011

R语言中的向量化操作,第1张

我们在日常的数据分析过程中,经常要进行循环的操作。但是在R语言中,for循环的效率低下,如果是数据量比较大的情况下,可能会花费比较多的时间。因此,我们可以使用向量化操作来代替循环。向量化可以理解为高效的循环。

我们主要讲解基础包中的:

此函数经常被用于对矩阵的行或列进行指定目的的循环

• 可以被用于多个数组的循环

• 该函数作用于一行进行循环

• X 是一个数组

• MARGIN 参数是一个数字向量,在适用与矩阵时,1表示行,2表示列,也可以是列名

• FUN 是适用循环的函数

• ... 表示其他参数

使用之前我们学过的东西进行改进的话可以酱紫:

但是依然还是有缺陷,就是只能对一个分组变量,不能同时对多个变量进行

接下来我们讲下怎么弥补这个缺陷:

split 用于使某向量或对象分为指定数目的列表,指

定数目的组由因子列表确定

• X是一个向量或数据框

• F是一个因子或因子列表

• Drop表示空因子水平是否舍弃

列表是R语言中的对象,它包含不同类型的元素,比如 - 数字,字符串,向量和另一个列表等。一个列表还可以包含一个矩阵或一个函数作为它的元素。使用list()函数创建列表。

列表元素可以给定它们的名字并且可以使用这些名称来访问。

列表的元素可以通过在列表中的元素的索引来访问。如遇命名列表也可以使用名称来访问。

继续使用在上面例子的列表

我们可以添加,删除和更新列表中的元素,如下图所示。我们可以增加或删除而且只能添加到列表的末尾的元素。但是可以更新任何元素。

可以把所有的列表传到一个 list()函数合并多个列表成一个列表。

列表可以被转换为一个向量,以便能用于进一步操纵向量的元素。所有关于向量的算术运算可以在列表被转换为矢量之后被应用。要做到这一点转换,使用unlist() 函数。它以列表作为输入,并产生一个向量。