R语言基础(第四章Note)

本文深入探讨了R语言中高效的数据处理技巧,包括lapply、apply、mapply、tapply等函数的应用,以及如何利用sort和order进行数据排序,最后介绍了head、tail、summary等函数在数据概览和信息总结中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第四章 操纵数据:重要函数的使用

目录

4-1 lapply

与循环处理有关的函数:R不仅有for/while循环语句,还有更强大的实现循环的”一句话“函数。此后我们还会介绍与排序有关的函数总结数据信息函数。

  • lapply的作用:可以循环处理列表中的每一个元素
  • lapply(参数):lapply(列表,函数/函数名, 其他参数)
  • lapply的返回值:总是返回一个列表
  • sapply:简化结果
  1. 结果列表元素长度均为1时,返回向量
  2. 结果列表长度相同且大于1时,返回矩阵

str()函数的使用:

image

lapply()函数使用举例:

image

image

使用自定义匿名函数对处理列表:

image

sapply和lapply函数的区别:

image

4-2 apply

apply:沿着数组的某一维度处理数据

  • 例如:将函数用于矩阵的行或列
  • 虽然与for/while循环的效率相似,但是只用一句话就可以完成

函数形式:

  • apply(参数): apply(数组,维度,函数/函数名)

对矩阵中的行或列求和或求平均:

image

apply()函数的复杂举例:

image

apply()函数的复杂举例2:

image

image

关于三维数组:

image

例如:apply(x, c(1, 2), mean)表示,在1, 2的两个维度上,沿着第三维求平均值。

4-3 mapply

关于mapply:

  • lapply的多元版本
  • mapply(参数): mapply(函数/函数名,数据,函数相关的参数)

简化list的创建过程:

image

创建自定义函数:

image

在mapply()函数中使用自定义函数,处理数据:

image

4-4 tapply

关于tapply函数:

  • 对向量的子集进行操作
  • tapply(参数):tapply(向量,因子/因子列表,函数/函数名)

创建因子:

image

在tapply中对数据元素进行操作:

image

4-5 split

关于split函数:

  • 根据因子或者因子列表将向量或其他对象分组
  • 通常与lapply函数一起使用
  • split(参数):split(向量/列表/数据框,因子/因子列表)

向量使用split函数,进行分组:

image

查看之前使用过的airquality数据集,并使用split函数按月份进行分组:

image

table函数的使用:

image

结合lapply函数,使用split函数;

image

使用sapply函数,简化lapply函数的输出结果:

image

4-6 排序

R中的排序:

  • sort:对向量进行排序;返回排好序的内容
  • order:返回排好序的内容的下标/可以有多个排序标准

对数据框进行sort排序:

image

使用order对数据框进行排序(默认为升序):

image

使用order的多个排序标准排序:

image

4-7 总结数据信息

查看数据的开始或结尾:head()与tail()

image

对数据进行总结性了解的函数:summary()和str()

image

以表格的形式总结数据:table()

image

使用table总计两个变量:

image

其他的总结函数:any(), sum(), all()

image

总结函数的应用举例:Titanic

image

交叉表xtabs:

image

交叉表显示的“扁平化”:ftable(flat table)

image

统计数据的大小:object.size()与print()

image

4-8 小结

本章总结:

  • “一句话”循环:lapply(sapply, split)/apply/mapply/tapply
  • 排序:sort/order
  • 总结数据信息:head/tail/summary/str/table/sum/all/xtabs/ftable/object.size
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值