R语言 --- split 二三事

Python011

R语言 --- split 二三事,第1张

最近有很多对文件的操作,经常使用到split函数,但是存在三个split函数,有时候会弄混,谨以此文以记之。

1. split()

2. str_spit()

3. strsplit()

总结: split(参数):split(向量/列表/数据框,因子/因子列表)

split()函数可以分组数据框和向量,返回list。

可以直接使用unsplit()。

split是按照factor去切分vector或者数据框,因此不能这样用:

切割数据框的用法:

针对vector的用法:

str_spllit()主要用于 split a vector of strings. 返回一个list。

str_spllit_fixed()可以返回一个matrix。

举个栗子:

上栗子:

函数split()可以按照分组因子,把向量,矩阵和数据框进行适当的分组。它的返回值是一个列表,代表分组变量每个水平的观测。这个列表可以使用sapply(),lappy()进行处理(apply – combine步骤),得到问题的最终结果。

只是分组,既可以对 向量 分组,也可以对 数据框 分组

参考资料:

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

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

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

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

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

• X 是一个数组

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

• FUN 是适用循环的函数

• ... 表示其他参数

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

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

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

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

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

• X是一个向量或数据框

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

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