关于r:提取数据框中每个组内的最大值 | 您所在的位置:网站首页 › 搜索题目应用框中组个数与该应用框中间的数有什么关系 › 关于r:提取数据框中每个组内的最大值 |
本问题已经有最佳答案,请猛点这里访问。
我有一个带有分组变量(" Gene")和一个值变量(" Value")的数据框: 123456789Gene Value A 12 A 10 B 3 B 5 B 6 C 1 D 3 D 4对于我的分组变量的每个级别,我希望提取最大值。 因此,结果应该是一个数据帧,每级分组变量只有一行: 12345Gene Value A 12 B 6 C 1 D 4aggregate可以解决问题吗? 相关讨论 是。 aggregate可以解决问题。 只需使用max作为相关功能即可。在R中有很多方法可以做到这一点。以下是其中一些: 12345678910111213141516171819202122232425262728293031323334353637383940414243df % group_by(Gene) %>% summarise(Value = max(Value)) # data.table require(data.table) dt %有什么区别? %.%在dplyr的第一个版本中使用,但后来被%>%代替(最初来自magrittr)。我用ave添加了一种方法-也许不是最好的选择,但也是一种可能,因为您开始收集不同的方法。如果此帖子将用作将来的参考/社区Wiki,则在每组有多个最大值的情况下,也应在每种方法的行为上添加注释(例如,ave方法将在每组中返回多个最大值,但例如dplyr不会) (..或者只是将此信息添加到ave版本中-我认为这是唯一的一个在多个最大值的情况下每组将返回多行的信息) 我在SO上看到的最简单,最彻底的答案之一。很好!谢谢 :)。 我使用aggregate(df $ Value,by = list(df $ Gene),max)得到以下错误:max对因子没有意义" 您是否检查过Value类(如错误消息所提示的那样?) 12df$Gene |
CopyRight 2018-2019 实验室设备网 版权所有 |