summarise()和mutate()是plyr包中的两个函数。

summarise()函数

用法:

summarise(.data, ...)

参数:

.data
the data frame to be summarised...
further arguments of the form var = value

mutate()函数

用法:

mutate(.data, ...)

参数:

.data
the data frame to transform...
named parameters giving definitions of new columns.

参考:http://xukuang.github.io/blog/2014/06/dots-in-plyr-of-r-packages/

summarisemutate函数都可以对一个数据框的某一列(而不是整个数据框)进行修改和汇总,两者的主要区别在于返回结果的方式不同,其中summarise函数返回一个只包含修改或汇总后数据的数据框,而mutate函数则返回一个由原始数据和修改或汇总后数据两部分构成的数据框(mutate函数与基础包的transform函数相似,两者的区别在于;muate函数可以对刚刚建立起来的列进行计算,而transform函数只能针对数据的原始列进行计算)。

示例:

require(plyr)
set.seed(1) # 保证每次产生的数据框的唯一性
dfx <- data.frame(group = c(rep('A', 8), rep('B', 15), rep('C', 6)),sex = sample(c("M", "F"), size = 29, replace = TRUE),age = sample(20:30, size = 29, replace = TRUE),worktime = sample(1:5, size = 29, replace = TRUE)
)
### 数据修改
summarise(dfx, age = age + 1) # 返回一个只含一列age的数据框
mutate(dfx, age = age + 1) # 返回一个和dfx列数一样的4列数据框,但age列的数值已经修改
### 数据汇总
summarise(dfx, mean.age = mean(age), sd.age = sd(age)) # 返回一个只含汇总结果的2列数据框
mutate(dfx, mean.age = mean(age), sd.age = sd(age)) # 返回一个由dfx和汇总结果组成的4列数据框

输出结果:

 dfxgroup sex age worktime
1      A   M  21        5
2      A   F  29        2
3      A   M  28        1
4      A   M  20        3
5      A   F  23        3
6      A   M  22        4
7      A   M  25        3
8      A   M  29        1
9      B   F  29        4
10     B   F  25        5
11     B   M  23        1
12     B   M  23        1
13     B   M  29        4
14     B   M  28        5
15     B   M  26        5
16     B   F  25        4
17     B   F  28        5
18     B   F  27        4
19     B   F  28        4
20     B   M  26        1
21     B   M  27        5
22     B   M  25        5
23     B   M  29        1
24     C   M  26        1
25     C   M  22        3
26     C   M  29        2
27     C   F  25        2
28     C   M  27        3
29     C   M  21        2
summarise(dfx, age = age + 1)age
1   22
2   30
3   29
4   21
5   24
6   23
7   26
8   30
9   30
10  26
11  24
12  24
13  30
14  29
15  27
16  26
17  29
18  28
19  29
20  27
21  28
22  26
23  30
24  27
25  23
26  30
27  26
28  28
29  22
mutate(dfx, age = age + 1)group sex age worktime
1      A   M  22        5
2      A   F  30        2
3      A   M  29        1
4      A   M  21        3
5      A   F  24        3
6      A   M  23        4
7      A   M  26        3
8      A   M  30        1
9      B   F  30        4
10     B   F  26        5
11     B   M  24        1
12     B   M  24        1
13     B   M  30        4
14     B   M  29        5
15     B   M  27        5
16     B   F  26        4
17     B   F  29        5
18     B   F  28        4
19     B   F  29        4
20     B   M  27        1
21     B   M  28        5
22     B   M  26        5
23     B   M  30        1
24     C   M  27        1
25     C   M  23        3
26     C   M  30        2
27     C   F  26        2
28     C   M  28        3
29     C   M  22        2
> summarise(dfx, mean.age = mean(age), sd.age = sd(age))mean.age   sd.age
1 25.68966 2.804377
> mutate(dfx, mean.age = mean(age), sd.age = sd(age))group sex age worktime mean.age   sd.age
1      A   M  21        5 25.68966 2.804377
2      A   F  29        2 25.68966 2.804377
3      A   M  28        1 25.68966 2.804377
4      A   M  20        3 25.68966 2.804377
5      A   F  23        3 25.68966 2.804377
6      A   M  22        4 25.68966 2.804377
7      A   M  25        3 25.68966 2.804377
8      A   M  29        1 25.68966 2.804377
9      B   F  29        4 25.68966 2.804377
10     B   F  25        5 25.68966 2.804377
11     B   M  23        1 25.68966 2.804377
12     B   M  23        1 25.68966 2.804377
13     B   M  29        4 25.68966 2.804377
14     B   M  28        5 25.68966 2.804377
15     B   M  26        5 25.68966 2.804377
16     B   F  25        4 25.68966 2.804377
17     B   F  28        5 25.68966 2.804377
18     B   F  27        4 25.68966 2.804377
19     B   F  28        4 25.68966 2.804377
20     B   M  26        1 25.68966 2.804377
21     B   M  27        5 25.68966 2.804377
22     B   M  25        5 25.68966 2.804377
23     B   M  29        1 25.68966 2.804377
24     C   M  26        1 25.68966 2.804377
25     C   M  22        3 25.68966 2.804377
26     C   M  29        2 25.68966 2.804377
27     C   F  25        2 25.68966 2.804377
28     C   M  27        3 25.68966 2.804377
29     C   M  21        2 25.68966 2.804377

R语言——summarise和mutate函数相关推荐

  1. R语言dplyr包group_by函数和summarise_at函数计算dataframe计算不同分组的计数个数和均值(Summarise Data by Categorical Variable)

    R语言dplyr包group_by函数和summarise_at函数计算dataframe计算不同分组的计数个数和均值(Summarise Data by Categorical Variable) ...

  2. R语言dplyr包group_by函数、summarise函数和across函数计算dataframe数据中指定范围数值数据列的均值、across函数对多个列执行相同的操作

    R语言dplyr包group_by函数.summarise函数和across函数计算dataframe数据中指定范围数值数据列的均值.across函数对多个列执行相同的操作 目录

  3. R语言dplyr包group_by函数、quantile函数、summarise函数计算dataframe数据中指定数值数据列在每个分组中的多个分位数值

    R语言dplyr包group_by函数.quantile函数.summarise函数计算dataframe数据中指定数值数据列在每个分组中的多个分位数值(Calculate Percentile Va ...

  4. R语言dplyr包group_by函数、summarise函数、where函数和across函数计算dataframe数据中所有的数值数据列的均值、across函数对多个列执行相同的操作

    R语言dplyr包group_by函数.summarise函数.where函数和across函数计算dataframe数据中所有的数值数据列的均值.across函数对多个列执行相同的操作 目录

  5. R语言dplyr包group_by函数和summarise_at函数计算dataframe计算不同分组的计数个数和均值、使用%>%符号将多个函数串起来

    R语言dplyr包group_by函数和summarise_at函数计算dataframe计算不同分组的计数个数和均值.使用%>%符号将多个函数串起来(Summarise Data by Cat ...

  6. R语言使用download.file函数下载网络文件到本地(Download File from the Internet)

    R语言使用download.file函数下载网络文件到本地(Download File from the Internet) 目录 R语言使用download.file函数下载网络文件到本地(Down ...

  7. R语言stringr包str_dup函数字符串多次复制实战

    R语言stringr包str_dup函数字符串多次复制实战 目录 R语言stringr包str_dup函数字符串多次复制实战 #导入stringr包 #仿真数据

  8. R语言stringr包str_count函数计算字符串匹配个数实战

    R语言stringr包str_count函数计算字符串匹配个数实战 目录 R语言stringr包str_count函数计算字符串匹配个数实战 #导入stringr包 #仿真数据

  9. R语言ggpubr包ggsummarystats函数可视化分组条形图(自定义分组颜色、添加抖动数据点jitter、误差条)并在X轴标签下方添加分组对应的统计值(样本数N、中位数、四分位数的间距iqr)

    R语言ggpubr包ggsummarystats函数可视化分组条形图(自定义分组颜色.添加抖动数据点jitter.误差条error bar)并在X轴标签下方添加分组对应的统计值(样本数N.中位数med ...

最新文章

  1. Jenkins 部署
  2. 常用作图与图片处理工具
  3. 在linux命令行 下学习编写java
  4. 产品部门四大角色——PM/PD/UE/UI
  5. spring架构初学者_完整的厨师和基础架构初学者指南
  6. 常用评价指标及其Python实现
  7. windows 注册表固定桌面壁纸
  8. Vue仿制移动端QQ音乐(可预览)
  9. 飞鹅云打印 API_C#
  10. 文献检索与SCI、EI、ISTP
  11. 太牛了!我的阿里春招之路分享,值得收藏!
  12. FreeSWITCH权威指南 -- 1.PSTN与VoIP基础(笔记)
  13. 经纬度与长度距离转换
  14. lua菜鸟教程_初学者必看:Lua入门学习教程
  15. 4片74151扩展为32选1数据选择器
  16. Linux防火墙操作firewall、iptable
  17. 测试tensforflow的pb格式模型
  18. Excel如何直接应用主题效果美化工作表
  19. 在还剩下四分之三的2018里,你还将继续“病变”下去。
  20. “自如”的看房,“自如”的体验

热门文章

  1. pdf注释上锁_如何在iPad上突出显示和注释PDF
  2. 网页调启用qq对话聊天客服窗口的链接地址方法大全(包含移动端)
  3. 第五章 Java API(四)
  4. [Android] 仿小米空气净化器首页旋转UI
  5. PHP对接验证码短信接口DEMO示例
  6. gecco爬虫框架使用指南
  7. 利用RMI实现JAVA分布式应用
  8. Kali-linux:fping 命令
  9. 操作系统之进程控制块PCB
  10. 没有宽带如何多设备上网?华为移动路由Pro携流量卡上新