r - 如何获得每个不同的唯一行的最大值?
问题描述
我不是一个非常专业的 R 程序员,我想就如何在特定列中为每个唯一行检索最大值提出建议。
让我们举一个我拥有的数据框的简单示例:
`fruit` `dessert difficulty`
1 `apple cinnamon and apple` 0
2 `apple` `apple-pie` `1`
3 `apple` `strudel` `2`
4 `banana` `banana-split` `0`
5 `banana` `banana-pie` `1`
6 `banana` `banana pancakes` `2`
7 `banana` `banana ice-cream` `3`
对于每一行,我想取每个水果的最大“难度”(例如苹果 = 2)并将这个值用于其他功能。在我的真实数据框中,我不知道水果值的确切名称,但我知道它们在这个例子中是重复的。
我的想法是执行一个 for 循环,但我想有一个最简单的方法来执行它。
提前致谢!
解决方案
也许你想要ave
df <- within(df,difficulty_max <- ave(difficulty,fruit,FUN = max))
这样
> dfout
fruit dessert difficulty difficulty_max
1 apple cinnamon and apple 0 2
2 apple apple-pie 1 2
3 apple strudel 2 2
4 banana banana-split 0 3
5 banana banana-pie 1 3
6 banana banana pancakes 2 3
7 banana banana ice-cream 3 3
推荐阅读
- bash - 根据过滤器列出特定的 git 分支
- javascript - 为什么随机类的构造函数等于原生 Function 对象?
- java - 序列化和反序列化具有相同名称的 Jackson XML 元素
- node.js - 填充更多的猫鼬集合字段导致节点js api中的响应时间延迟
- azure - Azure DevOps REST API - 从每个成员获取容量栏
- android - Android如何创建隐藏文件?
- python - 如何在文件操作中编写两个装饰器
- protractor - 如果一个 Expect 在量角器中失败,规范执行会继续吗?
- python - from_formula() 缺少 2 个必需的位置参数:“公式”和“数据”
- javascript - BeforeEach 中的 Jest 闭包