24 数据汇总 |
您所在的位置:网站首页 › r语言计算分位数的命令 › 24 数据汇总 |
24.9 用plyr包进行分类概括
plyr是一个专注于分组后分别分析然后将分析结果尽可能合理地合并的扩展包, 功能强大, dplyr包仅针对数据框,使用更方便,但是对于复杂情况功能不如plyr包强。 plyr包已经被dplyr、purrr包代替,不再继续开发新版本。 这部分内容仅作为备忘, 读者可以跳过。 plyr的输入支持数组、数据框、列表, 输出支持数组、数据框、列表或无输出。 分组分析的函数输出格式需要与指定的输出格式一致。 这里主要介绍从数据框分组概括并将结果保存为数据框的方法, 使用plyr包的ddply()函数。 实际上,dplyr包的这种功能更方便。 plyr包的优点是可以自定义概括函数, 使得结果表格符合用户的预期, 处理多个变量时程序更简洁。 plyr包与dplyr包的函数名冲突比较大, 所以需要先卸载dplyr包再调用plyr包: if("dplyr" %in% .packages()) detach("package:dplyr") library(plyr)ddply()函数第一自变量是要分组的数据框, 第二自变量是分组用的变量名, 第三自变量是一个概括函数, 此概括函数以一个数据框子集(数据类型是数据框)为输入, 输出是一个数值、一个数值型向量或者一个数据框, 但最好是数据框。 例如,按性别分组,计算v0的平均值: ddply(d.cancer, "sex", function(d) c(mean.v0 = mean(d[["v0"]], na.rm=TRUE)))下面的程序按性别分组, 分别计算v0与v1的平均值: ddply(d.cancer, "sex", function(d) colMeans(d[,c("v0", "v1")]))下面的程序按性别分组,计算v0和v1的平均值、标准差: f1 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |