如何使用R在数据框中查找每个月的最后一天

时间:2017-06-22 04:20:07

标签: r

我现在有一个数据框,月和日在不同的列中。 我应该如何编写代码以准确地获取每个月的最后一天?

The data is like:
Month    Day
1        1
1        2
1        3
2        1
2        5

谢谢!

2 个答案:

答案 0 :(得分:2)

我们可以使用aggregate

aggregate(Day ~Month, df1, FUN = max)

如果已经订购了'月','日'

df1[!duplicated(df1$Month, fromLast = TRUE),]
#   Month Day
#3     1   3
#5     2   5

tidyverse方法

library(tidyverse)
df1 %>%
    group_by(Month) %>%
    slice(n())  # assumes the 'Day' is ordered

如果未订购“日期”,请获取max

df1 %>%
    group_by(Month) %>%
    summarise(Day = max(Day))

答案 1 :(得分:1)

library(sqldf)
sqldf("select max(Day),Month from df1 group by Month")

library(Hmisc)
summarize(df1$Day,df1$Month,max)