r - 为每个类别分配最小值和最大值,而不按类别分组
问题描述
假设我有 2 列
Category Value
A 10
B 4
C 5
A 7
B 2
B 8
我想创建新列 MAX 和 MIN,它们为每个类别分配最小值和最大值,而不将类别分组为一行。
Category Value MIN MAX
A 10 7 10
B 4 2 8
C 5 5 5
A 7 7 10
B 2 2 8
B 8 2 8
解决方案
使用dplyr
,这可以通过使用 agroup_by()
后跟 a来实现mutate()
:
library(dplyr)
df %>%
group_by(Category) %>%
mutate(MIN = min(Value),
MAX = max(Value)) %>%
ungroup()
这使
Category Value MIN MAX
<chr> <dbl> <dbl> <dbl>
1 A 10 7 10
2 B 4 2 8
3 C 5 5 5
4 A 7 7 10
5 B 2 2 8
6 B 8 2 8
输入
df <- structure(list(Category = c("A", "B", "C", "A", "B", "B"), Value = c(10,
4, 5, 7, 2, 8)), class = c("spec_tbl_df", "tbl_df", "tbl", "data.frame"
), row.names = c(NA, -6L), spec = structure(list(cols = list(
Category = structure(list(), class = c("collector_character",
"collector")), Value = structure(list(), class = c("collector_double",
"collector"))), default = structure(list(), class = c("collector_guess",
"collector")), skip = 1), class = "col_spec"))
推荐阅读
- sql - SQL中的匹配时间
- r - R中的行值到列
- python - 如何从 python 中的图像(或 pdf 文件)中提取名称和手写数字?
- javascript - HTML日期字段指示器上的绑定事件以编程方式关闭内置日期选择器弹出窗口
- php - 使用 cronjob 运行需要时间来获得结果的页面
- shell - 变量 $? 不适用于 mksh 上的 $PS1
- excel - 从工作簿中查找数据,对其进行编辑并再次发送 - VBA Userform
- javascript - 替换标签内 HTML 字符串中的颜色字符串
- css - 想要在 .net 项目中修复我的 .cshtml 中的 CSS 和引导程序问题
- java - 尝试打开 MainActivity 时出现奇怪的错误代码