首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R:使用ddply将函数应用于数据子集

在这个问答内容中,我们提到了两个概念:ddply数据子集。我们将分别解释这两个概念,并给出相关的示例。

ddply

ddply 是一个 R 语言中的函数,用于将函数应用于数据子集。它是 plyr 包中的一个函数,可以将一个函数应用于数据集中的每个子集,并返回一个新的数据集。

ddply 的语法如下:

代码语言:txt
复制
ddply(data, .variables, .fun, ..., .progress = "none", .inform = FALSE, .print = FALSE, .parallel = FALSE, .par_opts = NULL, .drop = TRUE)

其中,data 是要处理的数据集,.variables 是要分组的变量,.fun 是要应用的函数,... 是传递给函数的其他参数。

数据子集

数据子集是指数据集中的一部分数据,通常是按照某种条件或规则从数据集中筛选出来的。在 R 语言中,可以使用 subset 函数或者 [ 运算符来筛选数据子集。

例如,假设我们有一个名为 mtcars 的数据集,我们可以使用以下代码来筛选出 mpg 大于 20 的数据子集:

代码语言:txt
复制
subset(mtcars, mpg > 20)

或者使用 [ 运算符:

代码语言:txt
复制
mtcars[mtcars$mpg > 20, ]

示例

现在我们来看一个使用 ddply 的示例。假设我们有一个名为 mtcars 的数据集,我们想要计算每个制造商的汽车的平均马力。我们可以使用以下代码:

代码语言:txt
复制
library(plyr)
ddply(mtcars, .(cyl), summarize, mean_hp = mean(hp))

这将返回一个新的数据集,其中包含每个 cyl 值的平均 hp 值。

总结一下,ddply 是一个 R 语言中的函数,用于将函数应用于数据子集。数据子集是指数据集中的一部分数据,可以使用 subset 函数或者 [ 运算符来筛选。在这个示例中,我们使用 ddply 计算了每个制造商的汽车的平均马力。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用R中merge()函数合并数据

使用R中merge()函数合并数据R中可以使用merge()函数去合并数据框,其强大之处在于在两个不同的数据框中标识共同的列或行。...如何使用merge()获取数据集中交叉部分 merge()最简单的形式为获取两个不同数据框中交叉部分。举例,获取cold.states和large.states完全匹配的数据。...但他们都几中类型参数有关: x: 第一个数据框. y: 第二个数据框. by, by.x, by.y: 指定两个数据框中匹配列名称。缺省使用两个数据框中相同列名称。...,所以R基于两者state的name进行匹配。...Frost来自cold.states数据框,Area来自large.states. 上面代码执行了完整合并,填充未匹配列值为NA。 总结 本文详细介绍R中merge()函数参数及合并数据类型。

4.3K10

R语言使用merge函数匹配数据(vlookup,join)

参考文章 http://www.afenxi.com/post/41432 R中的merge函数类似于Excel中的Vlookup,可以实现对两个数据表进行匹配和拼接的功能。...# 有多个公共列时,需指出使用哪一列作为连接列 merge(w,q,by = intersect(names(w)[1],names(q)[1])) # 当两个数据集连接列名称同时,直接用 by.x,...= ‘F’ 不显示,只显示公有的name行,并且用q数据集A行匹配了w数据集所有的A行 6、outer 模式,两张表的数据汇总,表中原来没有的数据置为空 merge(w, q, all=TRUE, sort...,sort=TRUE) # 建议使用 指定了连接列 的情况 # 多个公共列,未指定连接列 # 左连接,设置 all.x = TRUE,结果只显示数据w的列及w在q数据集中没有的列 merge(w,...目录下创建sample.csv文件 cname = "D:\\R\\sample.csv" # 匹配后的数据写入到 sample.csv 文件中 write.csv(dt2, cname ,sep

2.7K20

使用MCUXpresso IDE数据函数与文件存入指定位置

在进行MCU开发时,根据实际需要,数据函数与文件存入指定位置,对合理使用存储器的十分重要。经常有客户问如何某一数据函数或文件存入指定的地址空间,结合客户的问题,本文主要对此进行讲解。...构建工程(Build)后,内存分配如以下console窗口所示: 其中.text,.data,.bss,.dec与Flash,RAM的关系如下所示: 自定义Flash与RAM分区 为了某一数据函数或文件存入指定的地址空间...2)指定的变量与常量存入指定位置 数组存入自定义的Flash与RAM中,需要调用C语言中的 __attribute__ ((section(#type#bank))) 例如 数据放入Flash2的...$Flash2")))+函数声明 同样官方进行了封装,使用__TEXT(Flash2)+函数声明即可。...return 2; } 指定文件存放到指定位置 当存在大量函数需要存入指定Flash时,使用__TEXT(Flash)的方法设置每一个函数就略显笨拙。

36020

左手用R右手Python系列6——变量计算与数据聚合

R语言与Python的Pandas中具有非常丰富的数据聚合功能,今天就跟大家盘点一下这些函数的用法。...R语言: transform mutate aggregate grouy_by+summarize ddply Python: groupby pivot.table 在R语言中,新建变量最为快捷的方式是通过...transform(当然你可以选择使用自定义函数),该函数支持基于同一个数据框新建多个变量。...R语言中的分组聚合如果使用矢量函数来进行操作,会大大提升其执行效率: tapply(iris$Sepal.Length,iris$Species,mean) tapply(iris$Sepal.Length...ddply(.data, .variables, .fun =) #一般只需提供数据框,带聚合分类字段,以及最终的聚合函数与聚合变量公式。它的用法与内置的tpply用法如出一辙。

1.5K70

R语言使用二元回归序数数据建模为多元GLM

基本思想是数据堆叠起来,使其成为一种重复测量,但是找到一种向软件发出信号的信号,即结果是不同的,从而对预测变量要求不同的截距和斜率。...因此,我们要做的是数据从宽转换为长,将其建模为常规二项式,但是我们需要告诉模型为每个级别估计不同的截距。为此,我使用具有unstructured工作相关性结构的通用估计方程(GEE)。...我们可以使用使用函数ordinal进行比较pom.ord和npom.ord建模anova(),从而进行相同的测试nomimal_test()。两者都是似然比检验,比上述GEE的Wald检验更充分。...然而,Wald- χ 2χ2 测试统计数据略高。 ---- 完成此操作后,使用序数数据包当然要容易得多。但是,模型视为二进制可能会有一些好处,但是所有这些都是出于好奇而非必要。...使用geepack,可以直接获得每个级别的预测概率。但是,这种优势是微不足道的。 ---- 而且,如果熟悉最大似然估计,则可以简单地对似然函数进行编程。

85420

R语言 分组计算,不止group_by

最近在研究excel透视图,想到好像自己在R-分组操作并不是很流畅,顺便学习分享一下。R自带数据集比较多,今天就选择一个我想对了解的mtcars数据集带大家学习一下R语言中的分组计算(操作)。...10 19.2 6 168. 123 3.92 3.44 18.3 1 0 4 4 # ... with 22 more rows # 对分组数据的相关变量进行函数计算...语法 ddply(.data, .variables, ... ) .data为数据集 .variables分组变量一定要在“点+括号中”,例如"....(group, sex)" ...为计算函数,可以是一个也可以是多个, 2.2 ddply分组计算示例 > library(plyr); library(dplyr) > dfx <- data.frame...(group, sex)" 3 aggregate 3.1 aggregate语法 aggregate(x, by, FUN)x为数据集by为分组变量列表FUN为计算函数 3.2 aggregate分组计算示例

8K50

分组统计你只想到group_by操作吗?

最近在研究excel透视图,想到好像自己在R-分组操作并不是很流畅,顺便学习分享一下。R自带数据集比较多,今天就选择一个我想对了解的mtcars数据集带大家学习一下R语言中的分组计算(操作)。...10 19.2 6 168. 123 3.92 3.44 18.3 1 0 4 4 # ... with 22 more rows # 对分组数据的相关变量进行函数计算...语法 ddply(.data, .variables, ... ) .data为数据集 .variables分组变量一定要在“点+括号中”,例如"....(group, sex)" ...为计算函数,可以是一个也可以是多个, 2.2 ddply分组计算示例 > library(plyr); library(dplyr) > dfx <- data.frame...(group, sex)" 3 aggregate 3.1 aggregate语法 aggregate(x, by, FUN)x为数据集by为分组变量列表FUN为计算函数 3.2 aggregate分组计算示例

97030

R 数据整理(十一: 用purrr包实现更花样的匿名函数使用

数据: s <- c('10, 8, 7', '5, 2, 2', '3, 7, 8', '8, 8, 9') 比如map 函数,如果需要使用自定义的无名函数...JSON、YAML等格式转换为R对象就经常具有这种嵌套结构。一般这种类型的数据,导入的R 后就表现为嵌套列表的格式,也就是列表中的每个元素也都是列表。...除此之外,map 还有其他的变种: modify(),输入一个数据自变量和一个函数, 输出与输入数据同类型的结果; map2()可以输入两个数据自变量和一个函数两个自变量相同下标的元素用函数进行变换...purrr包的pmap类函数支持对多个列表、数据框、向量等进行向量化处理。pmap不是多个列表等作为多个自变量, 而是将它们打包为一个列表。...其他有用的函数 比如keep, 可以专门用来选择数据框各列或列表元素中满足某种条件的子集, 这个条件用一个返回逻辑值的函数来给出。

2.4K30

数据地图系列8|R语言版数据地图(下)

今天要跟大家分享的是数据地图系列的第八篇——R语言版数据地图(下),分省(市级)热力地图。 步骤与昨天分享的中国热力地图步骤基本一致,只是需要调用的数据文件和需要自定义的指标文件略有本不同。...R语言系统环境配置: R version 3.2.3 RStudio Version 0.99.484 在正式开始之前,必须确保你的R语言环境中已经安装以下包: ggplot2 plyr maptools...4、抽取安徽省的整合数据 anhui <-subset(china_map_data,NAME_1=="Anhui") #取出安徽省的子集 5、读入指标数据 mydata=read.csv...以上指标数据需要你自己定义,使用excel文件创建,指标数据输入完成之后,另存为.CSV格式(存至c:/rstudy/下,这样便于引用,当然这些指标数据文件在昨天分享的数据文档里已经为你创建好了,你只需要修改数据就可以了...midpos <- function(x) mean(range(x,na.rm=TRUE)) centres <- ddply(anhui_data,.

1.5K82

R语言】三种批量做T检验的方法

小编也给大家总结过一些统计学相关的知识 ☞统计学中数据分析方法汇总! ☞统计学知识大梳理 ☞100个统计学 & R语言学习资源网站 R语言里面也有专门做t检验的函数,t.test。...☞R入门教程——cookbook for RR语言入门-工欲善其事必先利其器 t检验的应用场景也很多,比如我们经常做的差异表达分析就可以使用t检验来做。...我们这里使用数据是 ☞m6a甲基化相关基因boxplot并显示p值 这篇文章中用到的m6a甲基化相关的16个基因在TCGA-CHOL(胆管癌)中的表达情况。...install("reshape2") #加载plyr和reshape2包 library(plyr) library(reshape2) #melt对m6a_expr_type数据格式进行转换 ddply...for循环和ddply方法得到的结果是一样的 再给大家分享两个小技巧,在计算原始p值的同时,我们还能计算校正之后的p值 #使用fdr方法对原始p值进行校正 result=melt(m6a_expr_type

1.5K51

10个令人相见恨晚的R语言包

R中,apply函数族是在对列表或者向量每个元素调用函数的首选方法。虽然R基础库中有这些函数,但它们的使用可能难以掌握。...plyr 给予你一些函数 (ddply, daply, dlply, adply, ldply)按照常见的蓝图:数据结构分组拆分,对每个组应用一个函数结果返回到数据结构中。...很多函数使用那些做基础分析时不常用的数据结构。 stringr 非常易于使用。几乎所有的(和所有的重要功能)都以”str”为前缀,所以很容易记住。...你现在准备在R中进行一些分析,因此你可以在SQL编辑器中运行查询,结果复制到csv(或者……xlsx)并读入R,你并不需要这样做! R对于几乎每一个可以想到的数据库都有好的驱动。...你可以使用 melt 函数数据转换为窄数据使用 dcast 数据转换为宽数据。 10. randomForest 如果这个列表不包括至少一个能你的朋友震惊的机器学习包就不会完整。

1.5K100

关于美国地图中的两个海外州坐标平移与原始投影问题~

我们要在R语言中动手处理这个动作,能使用的素材格式非常有限,通常以shp和json为主。...) 使用albersusa包(通过封装函数自动完成调整过程,带投影,效率最高,效果最好) 1、纯手工调整 newdata<-read.csv("D:/R/File/President.csv",stringsAsFactors...2、使用图层拼接技术: library("grid") centres <- ddply(mymapdata,.(NAME),colwise(midpos,....3、使用ggmapr包调整 该包封装了一个位置调整函数,即将我第一种笨办法(手动调整经纬度的方式)进行了函数化,相比第一种笨办法来说,提高了效率,相对于第二方法来说,效率也提高了很多,可以精准的控制调整位置...rm(list=ls()) #该句清空内存数据数据太多有时候会混) newdata<-read.csv("D:/R/File/President.csv",stringsAsFactors=FALSE

1.6K50

机器学习算法的R语言实现:朴素贝叶斯分类器

1、引子 朴素贝叶斯方法是一种使用先验概率去计算后验概率的方法,其中 朴素 的意思实际上指的是一个假设条件,后面在举例中说明。...是的,朴素的假设在实际世界中是较难满足的,但是实际使用中,基于这个假设作出预测的正确率是在一个可接受的范围。...4、R语言实现 ################################# 朴素贝叶斯分类器################################library(plyr) library...##使用生成的朴素贝叶斯分类器进行预测P{fi|c_i}##输入:oneObs 数据框,待预测的样本,格式为 特征名称|特征值## pc 数据框,训练集合D中类别出现的概率,即P{c_i}...(class.name),summarize,prob_fea=prod(prob)) #prod为连乘函数 #取出类别的概率 class.all <- join(feature.prob

69790

使用自定义基因集对单细胞数据打分,应该用什么函数或者R包呢?

我来写个总结性的推文吧~ 使用自定义基因集对单细胞数据打分常常是为了深入分析单细胞数据用到,像由于测序深度不足而导致某些基因表达量低或者是某些基因并没有表达。...目前针对单细胞数据基因集打分有不同的R包和多种函数 GSEA、GSVA、ssGSEA #这三个也常常用在bulk转录组的富集分析中 Pagoda2、Vision、PLAGE、Zscore、Seurat包的...RNA-seq数据集的R包。...它可以应用于任何单细胞数据矩阵,并包括与SingleCellExperiment和Seurat对象交互的函数。...irGSEA包 除了上述的函数和包之外还有一个考察了多种算法然后选取了基于单个样本的基因表达排名的基因集分析方法:AUCell、UCell和singscore整合成的R包:irGSEA包 https:

1.1K30

R」如何汇总数据

问题 你想要按照组别总结你的数据(均值、标准差等等)。 方案 有三种方法描述基于一些特定变量的分组数据,然后对每一组使用总结函数(像均值、标准差等等)。...ddply()函数:它比较容易使用,但需要载入plyr包。这种方法可能就是你要找的(说明很多人用呗,好用呗)。 summaryBy()函数:它也比较容易使用,然而它需要载入doBy包。...aggregate()函数,它比较难使用一点但内置于R中。...summaryBy 使用summarizeBy()函数瓦解数据: library(doBy) # 给每一组运行长度、均值、标准差等函数 # 每一组依据性别+条件划分 cdata <- summaryBy...aggregate aggregate函数比较难用,但它内置于R,所以不需要按照其他包。

2.4K30

50-R茶话会 (十:R编程效率提升指北)

在循环中对变量进行修改尤其低效, 因为R在修改某些数据类型的子集时会复制整个数据对象。(这个在前面提到过) R以向量、矩阵为基础运算单元, 在进行向量、矩阵运算时效率很高, 应尽量采用向量化编程。...提高R 运行效率的几个策略 2.1 尽量使用已有函数及向量化 在计算总和、元素乘积或者每个向量元素的函数变换时, 应使用相应的函数,如sum, prod, sqrt, log等。...,例如数据子集, 可能会先制作副本再修改, 这当然会损失很多效率。...数据保存在列表中比保存在数据框中访问效率高, 数据框提供的功能更丰富。...R软件中的Rprof()函数可以执行性能分析的数据收集工作, 收集到的性能数据用summaryRprof()函数可以显示运行最慢的函数

85610
领券