十一、apply家族(4)

news/2025/1/23 22:38:06/

tapply()函数

tapply()函数主要是用于对一个因子或因子列表,执行指定的函数调用,最后获得汇总信息。
tapply()函数的使用格式如下所示。

tapply(x, INDEX, FUN, ...)
x:要处理的对象。
INDEX:因子或分类的字符串向量或因子列表。
FUN:要使用的函数。
... :FUN函数所需要的额外参数。

height = c(172, 175, 168, 173, 176)
gender = c('M','F', 'F', 'M', 'F')    #"F":女(female);"M":男(male)tapply(height, gender, mean)          #求女性、男性身高的平均值F     M 
173.0 172.5tapply(height, gender, max)          ##求女性、男性身高的最大值F   M 
176 173 

下面以R语言内置数据集鸢尾花iris为例。
鸢尾花的3种类型( 山鸢尾(setosa)、变色鸢尾(versicolor)和维吉尼亚鸢尾(virginica) )。

head(iris)        #记录了花萼的长度、宽度;花瓣的长度、宽度;种类Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa

查看iris数据集的元素类型。

sapply(iris, class)
Sepal.Length  Sepal.Width Petal.Length  Petal.Width      Species "numeric"    "numeric"    "numeric"    "numeric"     "factor"    #数值;因子

计算不同种类鸢尾花的花瓣长度、宽度平均值。

tapply(iris$Petal.Length, iris$Species, mean)    #不同种类花瓣长度的平均值
setosa versicolor  virginica 1.462      4.260      5.552tapply(iris$Petal.Width, iris$Species, mean)     #不同种类花瓣宽度的平均值
setosa versicolor  virginica 0.246      1.326      2.026 

http://www.ppmy.cn/news/1565599.html

相关文章

centos 安全配置基线

CentOS 是一个广泛使用的操作系统,为了确保系统的安全性,需要遵循一系列的安全基线。以下是详细的 CentOS 安全基线配置建议: 通过配置核查,CentOS操作系统未安装入侵防护软件,无法检测到对重要节点进行入侵的 解决方案: 安装入侵…

【线性代数】基础版本的高斯消元法

[精确算法] 高斯消元法求线性方程组 线性方程组 考虑线性方程组, 已知 A ∈ R n , n , b ∈ R n A\in \mathbb{R}^{n,n},b\in \mathbb{R}^n A∈Rn,n,b∈Rn, 求未知 x ∈ R n x\in \mathbb{R}^n x∈Rn A 1 , 1 x 1 A 1 , 2 x 2 ⋯ A 1 , n x n b 1…

【jmeter】下载及使用教程【mac】

1.安装java 打开 Java 官方下载网站https://www.oracle.com/java/technologies/downloads/选择您想要下载的 Java 版本,下载以 .dmg 结尾的安装包,注意 JMeter 需要 Java 8下载后打开安装包点击“安装”按钮即可 2.下载jmeter 打开 Apache JMeter 官方…

selenium获取登录token

背景 新到一个需求需要用爬虫采集数据,但这个采购的系统登录做了加密,我也懒得研究前端代码了,于是考虑用selenium来获取用户token做处理。 下载webdriver 由于我开发机器使用的chorme,因此下载的chorme webdriver,…

Mysql面试题----为什么B+树比B树更适合实现数据库索引

数据存储结构 B 树:每个节点既存储键值,也存储数据记录的指针。这种存储方式使得每个节点存储的键值数量相对较少,因为还要为指针留出空间。当数据量较大时,树的高度会相对较高,导致查询时需要更多的磁盘 I/O 操作来遍…

Django项目的创建及运行——Django学习日志(一)

1.命令行创建 (1)创建项目 django-admin startproject HelloWorld(这里的名称任意) (2)创建应用(app) 首先要进入到项目目录,比如我这里的项目目录为HelloWorld cd …

【Redis】在Java中以及Spring环境下操作Redis

Java环境下&#xff1a; 1.创建maven 项目 2.导入依赖 <!-- redis --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.3.2</version></dependency> 此处使用的是Jedis&…

Spring 定时任务:@Scheduled 注解四大参数解析

本文主要介绍了在 Spring 框架中使用Scheduled注解实现定时任务的方法&#xff0c;重点讲解了fixedRate、fixedDelay、cron和initialDelay这四个参数的用法&#xff0c;并通过实例代码进行了详细说明。 1. fixedRate 参数 参数含义 fixedRate指定任务固定时间间隔执行。如设…