京公网安备 11010802034615号
经营许可证编号:京B2-20210330
R贱客之apply族
为什么贱客呢?主要是因为apply函数家族的几个函数经常容易搞混,有时候不知道该用哪个函数才合适呢?现在我就给咱们把apply函数家族细细说来,让这个贱客变成真正的剑客!
apply函数
apply(X, MARGIN, FUN, ...)
#FUN函数运用到x的第MARGIN维度上。MARGIN:1表示矩阵行,2表示矩阵列,c(1,2) 表示矩阵行和列。
操作对象:矩阵或数据框
a<-matrix(1:12,nrow=3)
a
#求每列的平均值
apply(a,2,mean)
结果为: 2 5 8 11
注意:
我们也可以使用colMeans(),rowMeans( ),对矩阵的列和行分别求平均值,rowSums( ),colSums(),,对矩阵的列和行分别求和。如果数据中NA,那么在求行列的平均值或和的时候,NA所在的行列的计算结果也没NA。数据分析培训
lapply()函数
lapply(X, FUN, ...)
#把函数FUN运用到列表的每一个元素
操作 对象: 列表,数据框(不能用于矩阵或数组)
tapply函数
tapply(X, INDEX, FUN=NULL, …, simplify = TRUE)
#FUN函数根据INDEX索引应用到x数据上
操作 对象: 向量(或者具有相同索引的数据集)
sapply()函数
sapply(X, FUN, …, simplify = TRUE, USE.NAMES = TRUE)
#该函数比lapply函数更友好一些,可以使用simplify参数来调节输出的数据格式。
操作 对象:向量
vapply函数
vapply(X, FUN, FUN.VALUE, …, USE.NAMES = TRUE)
#类似sapply函数,但返回值只能按照预先指定的方式输出。
操作对象:向量或者表达式对象,其余对象将被通过as.list强制转换为list。
mapply()函数
mapply(FUN, …, MoreArgs = NULL, SIMPLIFY = TRUE, USE.NAMES = TRUE)
#用于多变量情况。
其中MoreArgs参数:FUN函数的其他参数列表。 SIMPLIFY参数 :逻辑或者字符串,可以减少结果成为一个向量、矩阵或者更高维阵列,详见sapply的simplify参数。 USE.NAMES参数 :逻辑值,如果第一个参数…已被命名,将使用这个字符向量作为名字。
eapply函数
eapply(env, FUN, ...,all.names = FALSE, USE.NAMES = TRUE)
#env表示将要使用进行FUN计算后返回一个列表值,用户可以请求所有使用过的命名对象。
env参数:将被使用的环境。
all.names参数:逻辑值,指示是否对所有值使用该函数。
USE.NAMES参数:逻辑值,指示返回的列表结果是否包含命名。
rapply()函数
rapply(object, f, classes ="ANY", deflt = NULL,how = c("unlist", "replace", "list"),...)
#运用函数递归产生列表, classes参数 :关于类名的字符向量,或者为any时则匹配任何类。 deflt参数 :默认结果,如果使用了how = “replace”,则不能使用。 how参数 :字符串匹配三种可能结果。
这里只是大概说一下,详细解释别忘了R里面的help()函数。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
写在开头 老板在微信上甩来一句: "帮我看下为什么销量跌了。" ” 你回工位,打开 SQL,开始写。查订单表、拉近三个月、按 ...
2026-10-03CDA数据分析师 出品 作者:李诗怡 1. 事实表 vs 维度表 对比维度 事实表 维度表 核心问题 记录“业务发生了什么事” 描述 ...
2026-10-02做数据聚合时,PySpark的groupBy()确实能完成统计,这也是它的本职工作。但它有一个根本性局限:每一组数据,最终只能返回一行 ...
2026-10-01热力地图是数据可视化中极具辨识度与实用性的空间分析图表,结合地理空间维度与数据密度特征,通过颜色深浅、色阶渐变直观展示数 ...
2026-09-30 很多数据分析师做过按月份的销售额趋势图,画过按天的流量折线图,但当被问到“时间序列和普通数据有什么本质区别”“季节性 ...
2026-09-30同样是“银行数据岗”,在国有大行总行数据中心、在一家城商行的零售部、在银行系金融科技子公司、在保险公司,工作内容、成长节 ...
2026-09-29在数据分析与统计学研究中,数据往往不是独立存在的,不同变量之间普遍存在相互关联、相互影响的关系。相关性统计分析是挖掘变量 ...
2026-09-29 导读:大多数人只把 dataclasses 当成偷懒工具,用来少写 __init__、__repr__ 这类魔法方法。但它的能力远不止于此。本文带 ...
2026-09-29 很多数据分析师能熟练地计算指标、搭建标签体系,但当被问到“画像到底在解决什么问题”“画像和标签是什么关系”“画像如何 ...
2026-09-29在MySQL数据库运维与业务开发中,行业普遍存在“数据达到千万级就必须分表”的说法。但在实际生产环境中,千万条数据并不是强制 ...
2026-09-28CDA数据分析师 出品 作者:李诗怡 1. 5W1H 分析法 定义:经典系统性思维框架,通过六个核心维度对问题进行全方位拆解与剖析,确 ...
2026-09-28 很多分析师在设计标签时思路清晰,但真到落地环节却面临“数据在手,不知如何转化为可用标签”的困境:或因加工方式选择不当 ...
2026-09-28CDA数据分析师 出品 作者:李诗怡 1. 用户标签体系 定义: 通过一系列高度精炼的特征标识,对用户属性、行为与偏好进行量化刻画 ...
2026-09-24Pandas是Python生态中用于表格数据处理的核心库,广泛应用于数据清洗、统计运算、报表输出、数据分析建模等场景。在处理极大数值 ...
2026-09-24随着数字经济快速发展,数据已成为核心生产要素,各行各业的业务沉淀、用户行为、设备运行、市场交易均产生海量数据。数据处理作 ...
2026-09-24 很多分析师每天和数据打交道,但当被问到“标签是什么”“标签和指标有什么区别”“标签体系如何设计”时,却常常答不上来。 ...
2026-09-24在时序数据分析中,大部分业务数据并非持续平稳变化,而是会在某些时间节点出现突然抬升、断崖下跌、趋势反转、波动异变等现象, ...
2026-09-23在统计学与数据分析中,研究多组数据差异最常用的方法为单因素方差分析与事后多重比较。很多数据分析初学者容易混淆两者功能,认 ...
2026-09-23 很多数据分析师每天都在写 SQL,但当被问到“DQL 的本质是什么”“SELECT 子句的书写顺序与执行顺序为何不同”“INNER JOIN ...
2026-09-23 很多数据分析师写过无数个SELECT查询,但当被问到“如何新建一张表来固化中间数据”“创建视图和创建物理表有什么区别”“视 ...
2026-09-22