R语言:数据的分割-计算-整合(split-apply-aggregate)
2024-10-19 12:50:43
当获取到原始数据时,我们通常的做法是对该数据进行分割成小片段,然后对各小片段进行计算统计,最后整合成最终的数据。这是统计学里数据处理的一般规律。
R语言为我们提供了相应的函数来分别处理这三个阶段任务。
分割:split()和subset()函数。
计算:apply(),lapply(),tapply(),sapply()
整合:aggregate()
注意几点:
1.向量,矩阵,数组的长度就是它元素的个数,用length获取;而数据集,列表的长度则是它变量的个数,注意二者的不同。
实际上,向量和矩阵是特殊的数组,而数据集是特殊的列表。才表现出上述形式来。
2.批处理函数apply簇:
作用目标 | 在每个元素上应用 | 在子集合上应用 |
---|---|---|
array | apply |
tapply |
list | lapply (...) |
by |
apply和lapply作用在元素上,而tapply和by作用在子集合上。
二,实际用法:
tapply
tapply(array, indices, margin, FUN=NULL, ...)
按indices
中的值分组,把相同值对应下标的array中的元素形成一个集合,应用到FUN
。
by
by(dataframe, INDICES, FUN, ..., simplify=TRUE)
by是针对数据集进行的,功能同taaply函数,INDICES的长度等于每列变量的长度,因此它是将数据集按照行进行分割。
lapply
lapply(list, FUN, ...)
在list
上按照变量分组分别调用FUN,
相当于apply。可以用于dataframe上,因为dataframe是一种特殊形式的list。
具体使用方法参考:R语言apply函数簇使用方法
最新文章
- 【置顶】CoreCLR系列随笔
- Android Studio NDK编程-环境搭建及Hello!
- stl vector erase
- 关于read only file system问题解决方案
- MySQL主从同步几个文件
- CMS介绍
- 3D中的切线空间简介
- Window8 进不了PE如何设置BIOS
- 窥探 Swift 之 函数与闭包的应用实例
- 12-UIKit(View绘制、绘制曲线、绘制文字、贴图)
- C语言中的指针
- 【原】无脑操作:IDEA + maven + SpringBoot + JPA + Thymeleaf实现CRUD及分页
- Flask 扩展 表单
- XML 解析默认去掉命名空间和注释
- 异步处理,Event Souring,事务补偿,实现最终一致性和服务的弹性和批处理
- PHP页面间传值的几种方法
- PHP中文转拼音函数
- MT【18】幂平均不等式的证明
- SonarQube 平台搭建代码审查平台步骤
- mysql 开启profiling