我有一个数据框,看起来像所附图像的顶部表。
我有一组名称,其中一个名称可以属于以下类别之一:category 1
、category 2
和special
。
我想输出一个数据框,其中每个名称只显示一个类别,该类别基于数字列中的最大数字。
如果存在特殊类别,则该名称应该是special
类别,而不管数字值如何。
请参考所附图像的底部表格作为我正在寻找的输出的例子。
我的数据:
df <- structure(list(Name = c("Name A", "Name A", "Name B", "Name B",
"Name C", "Name C", "Name C"), Category = c("Category 1", "Category 2",
"Category 1", "Category 2", "Category 1", "Category 2", "Special"
), Number = c(10L, 5L, 3L, 20L, 3L, 25L, 4L)), class = "data.frame", row.names = c(NA,
-7L))
2条答案
按热度按时间qaxu7uf21#
另一个维护行排序的tidyverse方法:
s71maibg2#
我们可以这样做:
通过以降序形式排列(
-
),我们保持了在mutate中使用first()
函数的行顺序: