r - 如何在r中找到不同日期的最小值

标签 r dplyr

我有一个数据框 数据

Date          Marks
21-01-2019     18
22-01-2019     12
23-01-2019     14 
24-01-2019     20
25-01-2019     16
19-02-2019     12
20-02-2019     11
21-02-2019     18
22-02-2019     15 
23-02-2019     20
24-02-2019     14

我想按月份和特定年份对数据进行分组以获得最低分数。我的输出如下所示:

Date          Marks
22-01-2019     12
20-02-2019     11

最佳答案

由于您知道固定日期格式,因此您可以直接截断日期部分并按其分组。您可以通过group_by为每一行添加最小分数,按年/月分组,然后过滤掉所有不等于最小值的行。

table %>%
  mutate(ym = substring(Date, 4)) %>%
  group_by(ym) %>%
  mutate(min_marks = min(Marks)) %>%
  ungroup() %>%
  filter(Marks == min_marks) %>%
  select(-ym, -min_marks)

进行编辑以查找分数最低的日子。请注意,如果有多个日期具有相同的最小标记,这可能会产生多行。

关于r - 如何在r中找到不同日期的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58167846/

相关文章:

r - 在具有字符和数字变量的 data.frame 上使用 Apply

R 试图让插入符/rfe 工作

r - 在 Shiny 的 react 函数中使用 dplyr 条件过滤器

r - mutate_if - 警告消息

r - Dplyr 在指定位置改变新列

r - 仅使用 R 中的一个代码计算条件汇总统计量

r - 更改数据框中的文本

r - 2d 密度面尺度

regex - 使用 dplyr 在选定的列上添加具有行均值的列

r - rename_with dplyr 后的意外输出